JSON将两个字段一起添加

时间:2012-03-29 14:06:31

标签: php javascript json merge

我有一个静态json文件(下面),然后我还通过检索的php表单数据创建一个新的json文件。

两个文件都具有相同的数据结构,如果可能的话,我想将它们组合在一起吗?

        {
          "year": [{
              "yr": "2012",
              "items": [{
                      "id": 2,
                      "title": "lorem epsum",
                      "desc": "lorem epsum",
                      "img": "myimage.jpg"
                  }],
              "aid": 2
              }]
        };

这两个文件都包含我要合并的以下数据:

      "yr": "2012",
      "items": [{
              "id": 2,
              "title": "lorem epsum",
              "desc": "lorem epsum",
              "img": "myimage.jpg"
          }],
      "aid": 2

那么如何将这两个文件一起添加/合并? PHP或JS或两者兼而有之? 感谢

2 个答案:

答案 0 :(得分:1)

Javascript Object Notation(JSON)结合了Javascript对象和Javascript Arrays。

使用([]),Javascript对象({})的Javascript数组。

如果您想添加数据,

你可以在Arrays包含你的对象的部分使用Array的push方法。


$(document).ready( function(){  
        data= {
          "year": [{
              "yr": "2012",
              "items": [{
                      "id": 2,
                      "title": "lorem epsum",
                      "desc": "lorem epsum",
                      "img": "myimage.jpg"
                  }],
              "aid": 2
              }]
        };

        data2= {
            "yr": "2013",
            "items": [{
                "id": 2,
                "title": "lorem epsum",
                "desc": "lorem epsum",
                "img": "myimage2.jpg"
            }],
            "aid": 2
            }
        data.year.push(data2);

        $.each(data.year, function(){
            console.log(this.yr);
        });
});

答案 1 :(得分:0)

如果您正在使用jQuery,可以尝试使用

jQuery.extend(target, object)

(当然在使用JSON.parse()将JSON文件解析为Javascript对象之后...)

请参阅jQuery文档:http://api.jquery.com/jQuery.extend/