【问题标题】:JSON add two fields togetherJSON将两个字段加在一起
【发布时间】:2012-04-13 04:46:13
【问题描述】:

我有一个静态 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或两者兼而有之? 谢谢

【问题讨论】:

  • 它不会是相同的内容,细节会有所不同,我有一个 json 文件,其中已经有数据,然后我还需要添加通过 php 动态创建的数据并返回,上面带有 yr : 2012 的 eg 将是其中的几个

标签: php javascript json merge


【解决方案1】:

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

使用 ([]) 的 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); }); });

【讨论】:

    【解决方案2】:

    如果你使用 jQuery,你可以试试这个

    jQuery.extend(target, object)
    

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

    查看 jQuery 文档:http://api.jquery.com/jQuery.extend/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-27
      相关资源
      最近更新 更多