2012-03-29 83 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/

相關問題