如何使用javascript处理json对象并添加键?

时间:2018-08-22 06:41:32

标签: javascript json

这是我得到的答复

result = [{
    "storeId": "4543",
    "type": "full",
    "overSerializedItems": [3548240, 91511753, 345555],
  },
  {
    "storeId": "5462",
    "type": "half",
    "overSerializedItems": [2548240, 9566666],
  }
]

我要操作此json并将密钥添加到overSerializedItems。我要操作响应数据并需要将其转换为以下格式

result = [{
    "storeId": "4543",
    "type": "full",
    "overSerializedItems": [
      {storeId: '3548240'},
      {storeId: '91511753'},
      {storeId: '345555'}
    ],
  },
  {
    "storeId": "5462",
    "type": "half",
    "overSerializedItems": [
      {storeId: '2548240'},
      {storeId: '9566666'}
    ],
  }
]

2 个答案:

答案 0 :(得分:3)

对象中不能有多个storeId键。但是您可以使用storeId拥有多个对象。

Client&Employee&Date

您可以这样变换:

overSerializedItems: [{storeId:...}, {storeId:...}]

答案 1 :(得分:1)

您需要为该输出使用两个forEach()循环:

var result = [{
    "storeId": "4543",
    "type": "full",
    "overSerializedItems": [3548240, 91511753, 345555],
  },
  {
    "storeId": "5462",
    "type": "half",
    "overSerializedItems": [2548240, 9566666],
  }
];

result.forEach(function(obj){
  obj.overSerializedItems.forEach(function(val, index){
    obj.overSerializedItems[index] = {'store':val.toString()};
  });
});
console.log(result);