我有以下格式的JSON,需要将2个值转换为javascript中的键/值对
“ column_values”:[ { “ id”:“状态”, “ text”:“正在处理” } ]
我需要结果
“ column_values” [{“ status”:“正在处理”}]
我需要代码来遍历column_values数组并将所有ID和文本对的集合转换为key = id value:Value = text:values
我的结果可能吗?
其他信息...
我正在zapier中解析monday.com api的响应。
api有效负载包含在
中const结果= response.json;
完整的api有效负载是
{
"data": {
"boards": [
{
"name": "Test Board",
"items": [
{
"name": "Name Change",
"id": "625495642",
"column_values": [
{
"id": "person",
"text": ""
},
{
"id": "subitems",
"text": "Subitem 1, Subitem 2"
},
{
"id": "status",
"text": "Working on it"
},
{
"id": "dropdown",
"text": "Test1"
},
{
"id": "formula",
"text": ""
}
]
}
]
}
]
},
"account_id": 1111
}
我需要代码来解析数据,并用上面的格式替换column_values,然后将重新格式化的有效载荷传递给
返回结果;
答案 0 :(得分:1)
您只需将开始的数组映射到具有值的数组。
var column_values = [ { "id": "status", "text": "Working on it" } ]
var KeyValuePairs = column_values.map(cv => [cv.id,cv.text]);
console.log(KeyValuePairs);
答案 1 :(得分:0)
如果每个对象仅包含id
和text
键,则可以将其映射并删除其他键。
column_values = column_values.map(item => {
item[item.id] = item.text;
delete item.id;
delete item.text;
return item;
});
答案 2 :(得分:0)
尝试
var column_values = [ { "id": "status", "text": "Working on it" } ]
var res = column_values.map(x => ({[x.id] : x.text}))
console.log(res)