JavaScript 中的 JSON 对象不能像 PHP 中的 json_decode 转换为数组去处理,下面的解决方案,虽然不够美观,但实际上确是有效的解决方案。
如果需要将下面的 json 对象合并:
var a ={"a":"1","b":"2"}
var b ={"c":"3","d":"4","e":"5"}
想得到结果:
var c ={"a":"1","b":"2","c":"3","d":"4","e":"5"}
直接使用 js 的话,可以用一下方法:
<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]);
alert(c.a);
</script>