将Flat JSON数组转换为Nodejs中的JSON对象

时间:2017-03-24 20:19:31

标签: javascript json node.js

我有一个扁平的json数组,可以存储这样的数据:

[
 {
  "prop1": "prop1Data1"
 },
 {
  "prop2": "prop2Data1"
 },
 {
  "prop3.name": "Tom"
 }
]

如何将此数据转换为节点js中的简单json对象,如下所示:

{ "prop1": "prop1Data1", "prop2": "prop2Data1", "prop3.name": "Tom" }

2 个答案:

答案 0 :(得分:5)

您可以使用Object.assign并使用spread syntax ...作为数组。



var array = [{ prop1: "prop1Data1" }, { prop2: "prop2Data1" }, { "prop3.name": "Tom" }],
    object = Object.assign({}, ...array);

console.log(object);




带有Array#reduce的ES5并通过迭代键。



var array = [{ prop1: "prop1Data1" }, { prop2: "prop2Data1" }, { "prop3.name": "Tom" }],
    object = array.reduce(function (r, o) {
        Object.keys(o).forEach(function (k) {
            r[k] = o[k];
        });
        return r;
    }, {});

console.log(object);




答案 1 :(得分:0)

我完成它的方式是这样的,因为它在一个数组中。

var original = [{"prop1": "prop1Data1"},{"prop2": "prop2Data1"},{"prop3.name": "Tom"}];

var propStore = {
   prop1 : '',
   prop2 : '',
   prop3 : ''
}
propStore.prop1 = original[0]["prop1"];
propStore.prop2 = original[0]["prop2"];
propStore.prop3 = original[0]["prop3"];

console.log(propStore);