从JSON文件创建JavaScript对象

时间:2017-10-30 21:35:36

标签: javascript json javascript-objects

我有一个如下所示的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
}

我试图找到一个具有这些功能的解决方案(比如每个,地图......),但我找不到解决方案。我不只是在寻找解决方案,而是最有效的解决方案。

你有什么想法吗?

1 个答案:

答案 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);