JSON中的每个对象都有唯一的ID。是否有任何内置函数将两个JSON与ID更新信息合并?
JSON示例:
{
"users": [
{
"id": "test1",
"field1": "info1",
"field2": "info1"
},
{
"id": "test2",
"field": "info1"
},
{
"id": "test3",
"field": "info1"
}
}
如果这个功能不存在 - 我会写自己的。我问这个是因为我的功能肯定会慢一些。
答案 0 :(得分:0)
您可以使用Lodash's merge
method。
首先做npm install lodash
然后使用var _ = require('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
希望这有帮助。