我有两个这样的JSON对象:
第一个:
[{
"id": 5001,
"count": "0",
"type": "None"
},
{
"id": 5002,
"count": "0",
"type": "Glazed"
},
{
"id": 5005,
"count": "0",
"type": "Sugar"
},
{
"id": 5003,
"count": "0",
"type": "Chocolate"
},
{
"id": 5004,
"count": "0",
"type": "Maple"
},
{
"id": 5009,
"count": "0",
"type": "Juice"
}]
第二个:
[{
"id": 5001,
"count": "1"
},
{
"id": 5002,
"count": "10"
},
{
"id": 5005,
"count": "20"
},
{
"id": 5003,
"count": "70"
},
{
"id": 5004,
"count": "50"
},
{
"id": 5009,
"count": "0"
}]
如何组合这两个JSON对象,如:
[{
"id": 5001,
"count": "1",
"type": "None"
},
{
"id": 5002,
"count": "10",
"type": "Glazed"
},
{
"id": 5005,
"count": "20",
"type": "Sugar"
},
{
"id": 5003,
"count": "70",
"type": "Chocolate"
},
{
"id": 5004,
"count": "50",
"type": "Maple"
},
{
"id": 5009,
"count": "0",
"type": "Juice"
}]
请帮助我,提前致谢。
答案 0 :(得分:1)
由于JSON数据是一个数组,您可以使用标准数组函数.push()
:
data.push(data1);
var data = [{"id": 1, "name": "Praveen"}, {"id": 2, "name": "Kumar"}];
var newD = [{"id": 3, "name": "StackOverflow"}];
data.push(newD[0]);

您可以使用data
来查看console.log(data)
的内容。
或者您也可以使用extend
:
var object = $.extend({}, object1, object2);
通过传递一个空对象作为目标(第一个)参数,你可以保留这两个对象,如果你想要合并第二个对象,你可以这样做
$.extend(object1, object2);
答案 1 :(得分:0)
你可以试试这个:
function merge_options(obj1,obj2){
var obj3 = {};
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
return obj3;
}
自: How can I merge properties of two JavaScript objects dynamically?
并根据您的需求进行自定义,例如覆盖较低的数量。