2012-03-29 104 views
1

我有一个静态json文件(下面),然后我也通过php表单数据检索创建一个新的json文件。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或两者兼而有之? 感谢

+5

为什么合并相同的内容? – 2012-03-29 14:09:11

+0

它不会是相同的内容,细节将有所不同,我有一个json文件,已经有它的数据,然后我还需要添加它与数据动态地通过PHP和返回,例如上面与年:2012年将是其中的几个 – 2012-03-29 14:31:00

回答

1

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

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

如果你想添加数据,

你可以在其中阵列包含了你的对象部分使用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); 
     }); 
}); 
 
+0

非常感谢,因为这节省了我一点时间:-) – 2012-03-29 15:58:18

+0

我很欢迎。很高兴帮助你 – 2012-03-29 16:02:46

0

如果你正在使用jQuery你可以用

jQuery.extend(target, object) 

(当然你解析JSON文件与JSON.parse()来一个Javascript对象后...)

试试这个

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