javascript - 如何使用 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'}
],
}
]
解决方案
对象中不能有多个 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()} })
}
})
推荐阅读
- python - 如何从程序中的任何位置访问和修改 configparser?
- c - STM32 F429 TIM1 捕捉比较总是零
- haskell - (Num (Int -> Int)) 没有因使用句法否定而产生的实例
- google-apps-script - 从已部署的网络应用程序下载创建的 Google 文档(Google Apps 脚本)
- flutter - 将回调函数作为参数传递给小部件,同时保持 Lint 规则“argument_type_not_assignable”
- c# - 我需要在 wpf 程序的主窗口之前添加一个“登录”屏幕
- flutter - Flutter:为什么移动到另一个活动时数据会更新?
- java - 在 Java 中转换 Lambda 表达式
- python - 如何获取使用 Youtube-dl 下载的文件的文件名
- wordpress - 如何调试一个给出超时的wordpress插件