javascript动态合并JSON DATA

2010/8/10 22:38:03


阅读全文(8273) | 回复(2) | 编辑 | 精华

javascript动态合并JSON DATAAuthor:Qr,http://Qr.blogger.org.cnDate:2010/08/10  method:josn.newkey=josninc.key 示例: 1、公共地址簿(json.ashx?meth=address.xml): {"root":{     "group0":[         {"id":"001","name":"张三","type":"0|1|2"},         {"id":"002","name":"李四","type":"0|2|3"}    ],     "group1":[         {"id":"003","name":"王五","type":"0|1|3"},         {"id":"004","name":"赵六","type":"0|1|2|3"}     ] }} 2、个人地址簿(json.ashx?meth=addressinc.xml): {"root":{     "group2":[         {"id":"001","name":"张三"},         {"id":"003","name":"王五"}     ] }} 3、script using jQuery: var deptjson = null; $(function(){     $.ajax({         type:'post',         url:'json.ashx?meth=address.xml',         dataType:'json',         success:function(data, status){             deptjson = data.root;             //alert(jsonToString(deptjson));         },         error:function(data, status, e){             alert("err");         }     }); }); $(function(){     $.ajax({         type:'post',         url:'json.ashx?meth=addressinc.xml',         dataType:'json',         success:function(data, status){             deptjson.group2 = data.root.group2;             //alert(jsonToString(deptjson));         },         error:function(data, status, e){             alert("err");         }     }); }); 4、result: {"root":{     "group0":[         {"id":"001","name":"张三","type":"0|1|2"},         {"id":"002","name":"李四","type":"0|2|3"}    ],     "group1":[         {"id":"003","name":"王五","type":"0|1|3"},         {"id":"004","name":"赵六","type":"0|1|2|3"}     ],     "group2":[         {"id":"001","name":"张三"},         {"id":"003","name":"王五"}     ] }} 原文链接:http://blogger.org.cn/blog/more.asp?name=Qr&id=49533

Qr

Posted by Qr on 2010/8/10 22:38:03

回复:javascript动态合并JSON DATA

2010/8/11 9:53:10


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除

var j1 = { "root": { "group0": [ { "id": "001", "name": "张三", "type": "0|1|2" }, { "id": "002", "name": "李四", "type": "0|2|3" } ], "group1": [ { "id": "003", "name": "王五", "type": "0|1|3" }, { "id": "004", "name": "赵六", "type": "0|1|2|3" } ] } }; var j2 = { "root": { "group2": [ { "id": "001", "name": "张三" }, { "id": "003", "name": "王五" } ] } }; for (var i in j2.root) { j1.root[i] = j2.root[i]; } for (var i in j1.root) { alert(i); } 这样算你要合并的json有多个节点,你也不需要像group2 这样特定指定了 以下为blog主人的回复:  佩服kin兄的认真劲!本来示例是打算贴用for...in语句或$.each()的处理代码,还有逻辑控制等,担心一些新手看不明白,都没有贴出来。

Kinogam

Posted by Kinogam on 2010/8/11 9:53:10

回复:javascript动态合并JSON DATA

2010/8/11 9:39:10

这里好像写的有点死,感觉还是用for xx in xx来循环json的属性自动添加过去比较好

Kinogam

Posted by Kinogam on 2010/8/11 9:39:10

» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)
站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.062 second(s), page refreshed 144754104 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号