我有一个如下所示的json文件:
data.json:
[
{
"id": 0,
"key": "key0",
"value": "val0"
},
{
"id": 1,
"key": "key1",
"value": "val1"
},
{
"id": 2,
"key": "key2",
"value": "val2"
},
{
"id": 3,
"key": "key3",
"value": "val3"
}
]
现在,我想把这个json转换为javascript对象,就像这样的格式:
JavaScript对象:
{
key0: val0,
key1: val1,
key2: val2,
key3: val3
}
我试图找到一个具有这些功能的解决方案(比如每个,地图......),但我找不到解决方案。我不只是在寻找解决方案,而是最有效的解决方案。
你有什么想法吗?
答案 0 :(得分:1)
reduce
在这里是一个不错的选择,从数组减少到对象。
var json = `[
{
"id": 0,
"key": "key0",
"value": "val0"
},
{
"id": 1,
"key": "key1",
"value": "val1"
},
{
"id": 2,
"key": "key2",
"value": "val2"
},
{
"id": 3,
"key": "key3",
"value": "val3"
}
]`;
var obj = JSON.parse(json).reduce((a,v) => { a[v.key] = v.value; return a; }, {});
console.log(obj);