码迷,mamicode.com
首页 > Web开发 > 详细

解析处理常用json数据总结

时间:2015-06-25 15:23:32      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

工作中用ajax接收到接口返回的数据需要进行解析后操作,这里总结一下平时的方法,用的jquery,复制下来的页面把引入的路径改一下即可。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>json</title>
 6     <script src="../js/jquery-1.8.3.min.js"></script>
 7     <script>
 8         $(function(){
 9             //$.each循环公用方法
10             function eachJson(data){
11                 $.each(data, function(i, t){
12                     console.log(t.name);
13                 });
14             };
15 
16             //json数组格式
17             var dataArr = [{"name": "邸宝松", "age": 22}, {"name": "于海欣", "age": 22}]; 
18             eachJson(dataArr); //后台返回json数组格式数据可直循环得到内容
19 
20             //单条对象
21             var dataObj = {"name": "邸宝松", "age": 22}; 
22             console.log(dataObj.name); //对象格式的一条数据通过.直接输出对象内容即可
23 
24             //(注意"{‘name‘: ‘邸宝松‘, ‘age‘: 22}"这种写法只有eval()能处理成功。用$.parseJSON()最外面要用单引号哦^-^)
25             //单条字符串数据
26             var dataStr = {"name": "邸宝松", "age": 22}; //单条字符串格式   
27             console.log($.parseJSON(dataStr).name); //eval(‘(‘+dataStr+‘)‘),不推荐用eval(),它不够安全,假设json里面有恶意代码,那么就完蛋了, 建议使用jquery的工具$.parseJSON(),当然还有一种js的方法JSON.parse()但它不支持IE6,7,还需要用其他方式兼容。
28             
29             //多条字符串数据
30             var datasStr = {"name": "邸宝松", "age": 22}, {"name": "于海欣", "age": 22}; //多条字符串格式
31             eachJson($.parseJSON([+datasStr+])); //eval(‘[‘+dataStr+‘]‘)不推荐,理由同上
32 
33             //复杂的对象数据
34             var dataObjs = {"status": 0, "inf": [{"name": "邸宝松", "age": 22}, {"name": "于海欣", "age": 22}]}; 
35             console.log(dataObjs.status);
36             eachJson(dataObjs.inf); //其实也就是多了一层对象而已,dataObjs.inf得到的不就是json数组格式了吗。
37         })
38     </script>
39 </head>
40 <body>
41 
42 </body>
43 </html>

 

解析处理常用json数据总结

标签:

原文地址:http://www.cnblogs.com/dibaosong/p/4599905.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!