zoukankan      html  css  js  c++  java
  • 解析处理常用json数据总结

    工作中用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             //多条对象
    25             var datasObj = {"0": {"name":"邸宝松"}, "1": {"name":"于海欣"}};
    26             eachJson(datasObj); 
    27 
    28             //(注意"{'name': '邸宝松', 'age': 22}"这种写法只有eval()能处理成功。用$.parseJSON()最外面要用单引号哦^-^)
    29             //单条字符串数据
    30             var dataStr = '{"name": "邸宝松", "age": 22}'; //单条字符串格式   
    31             console.log($.parseJSON(dataStr).name); //eval('('+dataStr+')'),不推荐用eval(),它不够安全,假设json里面有恶意代码,那么就完蛋了, 建议使用jquery的工具$.parseJSON(),当然还有一种js的方法JSON.parse()但它不支持IE6,7,还需要用其他方式兼容。
    32             
    33             //多条字符串数据
    34             var datasStr = '{"name": "邸宝松", "age": 22}, {"name": "于海欣", "age": 22}'; //多条字符串格式
    35             eachJson($.parseJSON('['+datasStr+']')); //eval('['+dataStr+']')不推荐,理由同上
    36             var datasStr2 = '"0": {"name":"邸宝松"}, "1": {"name":"于海欣"}';
    37             eachJson($.parseJSON('{'+datasStr2+'}'));
    38 
    39             //复杂的对象数据
    40             var dataObjs = {"status": 0, "inf": [{"name": "邸宝松", "age": 22}, {"name": "于海欣", "age": 22}]}; 
    41             console.log(dataObjs.status);
    42             eachJson(dataObjs.inf); //其实也就是多了一层对象而已,dataObjs.inf得到的不就是json数组格式了吗。
    43         })
    44     </script>
    45 </head>
    46 <body>
    47 
    48 </body>
    49 </html>
  • 相关阅读:
    效能分析
    个人项目词频统计2
    PSP 进度条 柱状图 饼状图
    四人小组项目
    结对编程
    品评历届学生作品
    构建之法终于到手了
    补上周一的进度条进度条:
    燃尽图
    scrum站立会议
  • 原文地址:https://www.cnblogs.com/dibaosong/p/4599905.html
Copyright © 2011-2022 走看看