问题描述
我有一个需要对传入数据进行分区的要求,如下例所示:
//required payload
{
"campaign_id": "","recipient": {
"first_name": "","last_name": "","company": "","email": "","address_1": "","city": "","state": "","postal_code": "","identifier": ""
}
}
但是,我的问题是当前正在发布到我的端点的负载看起来像这样:
//entire payload
"body": {
"info": [
{
"campaign_id": "","identifier": ""
}
}
],"otherArray": [],"otherString": "","otherString2": ""
}
}
我要做的是从第二个示例中提取第一个示例中的所需数据,然后将其存储在变量中。类似于以下内容:
var requiredPayload = {"campaign_id": "","recipient": {}};
我该怎么做才能将campaign_id +收件人对象放在一个变量中?
解决方法
我们应该能够将info数组的第一个元素分配给 requiredPayload 变量,如下所示:
const payload = {
"body": {
"info": [
{
"campaign_id": "","recipient": {
"first_name": "","last_name": "","company": "","email": "","address_1": "","city": "","state": "","postal_code": "","identifier": ""
}
}
],"otherArray": [],"otherString": "","otherString2": ""
}
};
var requiredPayload = payload.body.info[0];
console.log("requiredPayload:",requiredPayload);
,
尝试一下:
var data={"body": {
"info": [
{
"campaign_id": "","recipient": {
"first_name": "","identifier": ""
}
}
],"otherString2": ""
}
};
console.log(data.body.info[0]); //data is variable name
var info_data=data.body.info[0];
如果信息具有多个campaign_id,请尝试
$.each(data.body.info,function (indexInArray,valueOfElement) {
console.log(data.body.info[indexInArray]);
});