jquery解析json

Js代码   收藏代码
  1. var data="   
  2. {   
  3. root:   
  4. [   
  5. {name:'1',value:'0'},   
  6. {name:'6101',value:'西安市'},   
  7. {name:'6102',value:'铜川市'},   
  8. {name:'6103',value:'宝鸡市'},   
  9. {name:'6104',value:'咸阳市'},   
  10. {name:'6105',value:'渭南市'},   
  11. {name:'6106',value:'延安市'},   
  12. {name:'6107',value:'汉中市'},   
  13. {name:'6108',value:'榆林市'},   
  14. {name:'6109',value:'安康市'},   
  15. {name:'6110',value:'商洛市'}   
  16. ]   
  17. }";   


对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次。这种方式也适合以普通javascipt方式获取json对象,以下举例说明: 
Js代码   收藏代码
  1. var dataObj=eval("("+data+")");//转换为json对象   
  2. alert(dataObj.root.length);//输出root的子对象数量   
  3. $.each(dataObj.root,fucntion(idx,item){   
  4. if(idx==0){   
  5. return true;   
  6. }   
  7.   
  8. //输出每个root子对象的名称和值   
  9. alert("name:"+item.name+",value:"+item.value);   
  10. })   


注:对于一般的js生成json对象,只需要将$.each()方法替换为for语句即可,其他不变。 

JSON文件: 
Js代码   收藏代码
  1. [   
  2. {   
  3. "name":"xujun",   
  4. "sex":"男",   
  5. "home":"nanjing"   
  6. },   
  7. {   
  8. "name":"jack",   
  9. "sex":"男",   
  10. "home":"beijing"   
  11. }   
  12. ]   


Html文件: 
Html代码   收藏代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   
  2. <html>   
  3. <head>   
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">   
  5. <title>Insert title here</title>   
  6. <script src="../jquery.js"></script>   
  7. <script>   
  8. $(document).ready(function(){   
  9. $.getJSON('jsonData.json?id',function(data){   
  10. //遍历JSON中的每个entry   
  11.   
  12. $.each(data,function(entryIndex,entry){   
  13. var html='<tr>';   
  14. html+='<td>'+entry['name']+'</td>';   
  15. html+='<td>'+entry['sex']+'</td>';   
  16. html+='<td>'+entry['home']+'</td>';   
  17. html+='</tr>';   
  18. $('#title').after(html);   
  19.   
  20. });   
  21. });   
  22. });   
  23. </script>   
  24. </head>   
  25. <body>   
  26. <table>   
  27. <tr id="title">   
  28. <th>姓名</th>   
  29. <th>性别</th>   
  30. <th>家庭地址</th>   
  31. </tr>   
  32. </table>   
  33. </body>   
  34. </html> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值