解析处理常用json数据总结
2015-06-25 14:31
836 查看
工作中用ajax接收到接口返回的数据需要进行解析后操作,这里总结一下平时的方法,用的jquery,复制下来的页面把引入的路径改一下即可。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>json</title> <script src="../js/jquery-1.8.3.min.js"></script> <script> $(function(){ //$.each循环公用方法 function eachJson(data){ $.each(data, function(i, t){ console.log(t.name); }); }; //json数组格式 var dataArr = [{"name": "邸宝松", "age": 22}, {"name": "于海欣", "age": 22}]; eachJson(dataArr); //后台返回json数组格式数据可直循环得到内容 //单条对象 var dataObj = {"name": "邸宝松", "age": 22}; console.log(dataObj.name); //对象格式的一条数据通过.直接输出对象内容即可 //多条对象 var datasObj = {"0": {"name":"邸宝松"}, "1": {"name":"于海欣"}}; eachJson(datasObj); //(注意"{'name': '邸宝松', 'age': 22}"这种写法只有eval()能处理成功。用$.parseJSON()最外面要用单引号哦^-^) //单条字符串数据 var dataStr = '{"name": "邸宝松", "age": 22}'; //单条字符串格式 console.log($.parseJSON(dataStr).name); //eval('('+dataStr+')'),不推荐用eval(),它不够安全,假设json里面有恶意代码,那么就完蛋了, 建议使用jquery的工具$.parseJSON(),当然还有一种js的方法JSON.parse()但它不支持IE6,7,还需要用其他方式兼容。 //多条字符串数据 var datasStr = '{"name": "邸宝松", "age": 22}, {"name": "于海欣", "age": 22}'; //多条字符串格式 eachJson($.parseJSON('['+datasStr+']')); //eval('['+dataStr+']')不推荐,理由同上 var datasStr2 = '"0": {"name":"邸宝松"}, "1": {"name":"于海欣"}'; eachJson($.parseJSON('{'+datasStr2+'}')); //复杂的对象数据 var dataObjs = {"status": 0, "inf": [{"name": "邸宝松", "age": 22}, {"name": "于海欣", "age": 22}]}; console.log(dataObjs.status); eachJson(dataObjs.inf); //其实也就是多了一层对象而已,dataObjs.inf得到的不就是json数组格式了吗。 }) </script> </head> <body> </body> </html>
相关文章推荐
- JavaScript:exec()方法的用法及说明
- Javascript类继承-机制-代码Demo【原创】
- 直接读取服务器的一个json 文件
- 从零开始构建实现一个JavaScript模块化加载器
- 简单的jsTree运用
- 动态调试JS代码
- js 监听整个页面的回车事件
- js正则对象RegExp的$1...$9 属性
- javascript eval和JSON之间的联系
- AJAX 跨域请求 - JSONP获取JSON数据
- JavaScript读取XML
- js 打印网页指定内容
- javascript实现跨域的方法汇总
- JS日期时间选择器
- 浅谈JavaScript字符串拼接
- javascript最基本的函数汇总
- js获取url 参数
- 使用javascript将时间转换成今天,昨天,前天等格式
- javascript中的Function.prototye.bind
- JavaScript观察者模式