我有两个动态构建的JSON字符串。 第一个是从XML Document创建的:
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"}]}};
我知道一种方法是将 {“Title”:“Movie2”,“Year”:“2014”} 推入 [“Movies”] [“Movie”] < / em> ......但还有其他方法吗?
答案 0 :(得分: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);
答案 1 :(得分: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