在stackoverflow中的一些问题中,展示了如何从内部HTML或var中合并两个JSON对象,但我想合并两个带有JSON响应的外部JSON文件或URL。
这是一个有本地变量的例子:http://jsfiddle.net/qhoc/agp54/
var object1 = {name: "John"};
var object2 = {location: "San Jose"};
var objectA = $.extend({}, object1, object2);
//var objectB = object1.concat(object2);
console.log(objectA);
然后我会得到像这样或类似的JSON:
jQuery.getJson("data.json", function(data){...};
任何关于concat我的两个JSON的提示:json1.json
和json2.json
? :)
答案 0 :(得分:4)
你快到了。您只需在执行扩展后重新序列化。
var a = '{"foo": 1}';
var b = '{"bar": 2}';
var combined = $.extend({},
JSON.parse(a),
JSON.parse(b));
var serialized = JSON.stringify(combined);
答案 1 :(得分:0)
使用jQuery,您可以使用
合并两个对象jQuery.getJson("data.json", function(data) {
jQuery.getJson("data2.json", function(data2) {
var concatenatedJson = $.extend({}, data, data2);
});
});
所以你当然只能在加载两个json对象之后才这样做。