如何合并/连接两个JSON文件?

时间:2014-11-13 17:12:29

标签: javascript jquery json

在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.jsonjson2.json? :)

2 个答案:

答案 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对象之后才这样做。