ajax解析json的两种方法
来源:互联网 发布:windows 查看内存占用 编辑:程序博客网 时间:2024/05/18 01:03
eval(); //此方法不推荐
JSON.parse(); //推荐方法
一、两种方法的区别
我们先初始化一个json格式的对象:
var jsonDate = '{ "name":"周星驰","age":23 }'
var jsonObj = eval( '(' + jsonDate + ')' ); // eval();方法
var jsonObj = JSON.parse( jsonDate ); // JSON.parse(); 方法
然后在控制台调用:
console.log( jsonObj.name ); // 两种方法都可以正确输入 周星驰
那么问题来了 两种方法有什么区别呢?(下面我们稍微把代码改动一下,蓝色字体为修改部分)
var jsonDate = '{ "name":alert("hello"),"age":23 }'
var jsonObj = eval( '(' + jsonDate + ')' ); // eval();方法
console.log( jsonObj.age ); //会先执行“alert”输出“hello” 然后才输出 23
换“JSON.parse();”方法:
var jsonDate = '{ "name":alert("hello"),"age":23 }'
var jsonObj = JSON.parse( jsonDate ); // JSON.parse(); 方法
cosole.log( jsonobj.age ) // 报错 这个错误告诉我们这个字符串是不合法的
小结:“eval();”方法解析的时候不会去判断字符串是否合法,而且json对象中的js方法也会被执行,这是非常危险的;而“JSON.parse();”方法的优点就不用多说了,推荐此方法。(不明白的盆友可以自己在控制台测试一下)
JSON.parse(); //推荐方法
一、两种方法的区别
我们先初始化一个json格式的对象:
var jsonDate = '{ "name":"周星驰","age":23 }'
var jsonObj = eval( '(' + jsonDate + ')' ); // eval();方法
var jsonObj = JSON.parse( jsonDate ); // JSON.parse(); 方法
然后在控制台调用:
console.log( jsonObj.name ); // 两种方法都可以正确输入 周星驰
那么问题来了 两种方法有什么区别呢?(下面我们稍微把代码改动一下,蓝色字体为修改部分)
var jsonDate = '{ "name":alert("hello"),"age":23 }'
var jsonObj = eval( '(' + jsonDate + ')' ); // eval();方法
console.log( jsonObj.age ); //会先执行“alert”输出“hello” 然后才输出 23
换“JSON.parse();”方法:
var jsonDate = '{ "name":alert("hello"),"age":23 }'
var jsonObj = JSON.parse( jsonDate ); // JSON.parse(); 方法
cosole.log( jsonobj.age ) // 报错 这个错误告诉我们这个字符串是不合法的
小结:“eval();”方法解析的时候不会去判断字符串是否合法,而且json对象中的js方法也会被执行,这是非常危险的;而“JSON.parse();”方法的优点就不用多说了,推荐此方法。(不明白的盆友可以自己在控制台测试一下)
阅读全文
0 0
- ajax解析json的两种方法
- Ajax中解析Json的两种方法详解
- Ajax中解析Json的两种方法详解
- Ajax中解析Json的两种方法详解
- Ajax中解析Json的两种方法详解
- Ajax在解析Json的两种方法详解,eval()与 JSON.parse()
- IOS解析JSON的两种方法
- JSON解析的两种方法
- js解析json的两种方法
- jquery ajax遍历json的两种方法
- ThinkPHP通过AJAX返回JSON的两种实现方法
- ThinkPHP通过AJAX返回JSON的两种实现方法
- ajax请求后台返回json的两种处理方法
- Java构造和解析Json数据的两种方法
- Java构造解析Json数据的两种方法
- Gson解析JSON数据的两种方法
- Java构造和解析Json数据的两种方法
- 解析Ajax响应结果的两种简单方法.
- css3实现高度从固定到自动的过渡动画
- PHP 底层的运行机制与原理
- U盘总是提示格式化,如何安全恢复里面的数据?
- tomcat配置数据源
- Java中的ArrayList的初始容量和容量分配
- ajax解析json的两种方法
- Java maven 打包配置分离
- rabbitMQ-python
- 第十周项目1-验证算法(2)
- 最小生成树例题及其总结
- 作业
- 常见编码占用字节数
- 第十周项目1(4)---哈夫曼编码的算法验证
- 火狐放不了html5 video MP4格式