将数组中的数据分区并存储在变量中Javascript / JSON

问题描述

我有一个需要对传入数据进行分区的要求,如下例所示:

//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]);
});

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...