javascript合并两个json对象

JavaScript013

javascript合并两个json对象,第1张

<script>

function extend(des, src, override){

   if(src instanceof Array){

       for(var i = 0, len = src.length i < len i++)

            extend(des, src[i], override)

   }

   for( var i in src){

       if(override || !(i in des)){

           des[i] = src[i]

       }

   } 

   return des

}

var a ={"a":"1","b":"2"}

var b ={"c":"3","d":"4","e":"5"}

var c = extend({}, [a,b])

</script>

这个算是比较好理解的了。

思路 转换成字符串再转化成json;

代码如下:

var json = {}

var json1 = {a:1,b:1}

var json2 = {c:1,d:1}

json = eval('('+(JSON.stringify(json1)+JSON.stringify(json2)).replace(/}{/,',')+')')

// json: {a:1,b:1,c:1,d:1}

花括号用于表示对象,方括号用于表示数组。

var

json

={"%%a":"12","%%b":"3","%%c":"18"}这个表示是一个对象,“:”前为属性,后为值。

var

json

=

[{"%%a":"12"},{"%%b":"3"},{"%%c":"18"}]这个表示了三个对象。

这两个js都可以直接解析(也就是直接用)。

你看你需要哪一个,自己做拼接。

用下循环匹配着拼接下,w3school里讲的很明白,也很简单,但是是够用了