2014-01-28 57 views
0

我有兩個動態構建的JSON字符串。 第一個是從XML文檔創建:JavaScript - 加入兩個JSON字符串(嵌套數組)

if (window.DOMParser) { 
     parser = new DOMParser(); 
     xmlDoc = parser.parseFromString(xml_string, "text/xml"); 
    } else// Internet Explorer 
    { 
     xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
     xmlDoc.async = false; 
     xmlDoc.loadXML(xml_string); 
    } 
var json_str = xml2json(xmlDoc,"") 

另一種來自用戶的輸入的點創建。

兩者具有相同的結構。第一個是:

{"Movies": { "Movie": [{"Title":"Movie1","Year":"2013"}]}}; 

,第二個是:

{"Movies": { "Movie": [{"Title":"Movie2","Year":"2014"}]}}; 

我如何可以連接這兩個這樣的結果是兩個「電影」內的「電影」:結果應該是:

{"Movies": { "Movie": [{"Title":"Movie1","Year":"2013"},{"Title":"Movie2","Year":"2014"}]}}; 

我知道,一個方法是推動{ 「標題」: 「電影2」, 「年」: 「2014」}[ 「電影」] [ 「電影」] ...但還有其他方法嗎?

+0

可能重複的:http://stackoverflow.com/questions/10384845/ merge-two-json-objects-in-to-one-object –

+0

你可以使用Underscorejs的pluck函數(http://underscorejs.org/#pluck)來截取所有標題。 – Jason

+0

可能重複[合併兩個JSON對象與jQuery](http://stackoverflow.com/questions/8478260/merge-two-json-objects-with-jquery) – Bergi

回答

0

所以我這是怎麼實現我想要的東西......我猜的concat方法將工作太:

json_obj = JSON.parse(sessionStorage.getItem('object')); //->Creating JSON object from string format 

var new_item = {"Vendor":'GUY', "Title": '...', "Year":'...'}; 

json_obj["Movies"]["Movie"].push(new_item); 

JSON.stringify(json_obj) //-> String format 
0

就像concat方法?

var a = {"Movies": { "Movie": [{"Title":"Movie1","Year":"2013"}]}}; 
var b = {"Movies": { "Movie": [{"Title":"Movie2","Year":"2014"}]}}; 

var c = {"Movies": { "Movie": a.Movies.Movie.concat(b.Movies.Movie) }}; 
console.log(c); 
+0

該死的。打我吧;)這是一個jsfiddle,看起來非常類似於上面的答案http://jsfiddle.net/Fresh/ZLHQF/ –