首页 > 解决方案 > 如何使用 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'}
    ],
  }
]

标签: javascriptjson

解决方案


对象中不能有多个 storeId 键。但是你可以有多个带有 storeId 的对象。

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

你可以这样转换:

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

 var trans = result.map(w => {
  return {
     storeId: w.storeId,
     type: w.type,
     overSerializedItems: w.overSerializedItems.map(x => { return {storeId: x.toString()} })
  }
})

推荐阅读