簡體   English   中英

如何使用 javascript 操作 json 對象並添加密鑰?

[英]How to manipulate json objects and add key using javascript?

這是我得到的回應

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'}
    ],
  }
]

對象中不能有多個 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()} })
  }
})

您需要為該輸出使用兩個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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM