是否有任何功能可以合并两个JSON数据集并替换旧信息? (Node.js的)

时间:2016-04-05 17:41:03

标签: javascript json node.js

JSON中的每个对象都有唯一的ID。是否有任何内置函数将两个JSON与ID更新信息合并?

JSON示例:

{
    "users": [
        { 
             "id": "test1",
             "field1": "info1",
             "field2": "info1"
        },
        { 
             "id": "test2",
             "field": "info1"
        },
        { 
             "id": "test3",
             "field": "info1"
        }
}

如果这个功能不存在 - 我会写自己的。我问这个是因为我的功能肯定会慢一些。

1 个答案:

答案 0 :(得分:0)

您可以使用Lodash's merge method

首先做npm install lodash

然后使用var _ = require('lodash');

在您的模块中要求lodash

然后您将能够合并两个JSON对象。这是一个例子

var users = {
    'data': [{ 'user': 'barney' }, { 'user': 'fred' }]
};

var ages = {
    'data': [{ 'age': 36 }, { 'age': 40 }]
};

_.merge(users, ages);
// → { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] }

在你的情况下:

var _ = require('lodash');
var obj1 = {"id": "test1", "field": "info1"};
var obj2 = {"id": "test1", "field": "info1222"};
var mergedObj = _.merge(obj1, obj2);

mergedObj的值为{"id": "test1", "field": "info1222"},因为它会将field的值info1替换为info1222

希望这有帮助。