JSON.parse()和eval()的区别
来源:互联网 发布:加州大学枪击知乎 编辑:程序博客网 时间:2024/05/17 03:02
json格式非常受欢迎,而解析json的方式通常用JSON.parse()但是eval()方法也可以解析,这两者之间有什么区别呢?
JSON.parse()之可以解析json格式的数据,并且会对要解析的字符串进行格式检查,如果格式不正确则不进行解析,而eval()则可以解析任何字符串,eval是不安全的。
比如下面的字符串:
var str = 'alert(1000.toString())';eval(str);JSON.parse(str);
用eval可以解析,并且会弹出对话框,而用JSON.parse()则解析不了。 其实alert并没有什么坏处,可怕的是如果用恶意用户在json字符串中注入了向页面插入木马链接的脚本,用eval也是可以操作的,而用JSON.parse()则不必担心这个问题。
注意:某些低级的浏览器尚不支持JSON.parse(),可以到 https://github.com/douglascrockford/JSON-js/blob/master/json2.js 下载。
转载来自:http://outofmemory.cn/code-snippet/1741/JSON-parse-eval-differentiate
0 0
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- JSON.parse()和eval()的区别
- JSON.parse()和eval()的区别
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- JSON.parse()和eval()的区别
- JSON.parse和eval的区别
- JSON.parse和eval的区别
- eval()和json.parse()的区别
- JSON.parse()与eval()之间的区别
- JSON.parse()与eval()函数的区别
- JSON.parse与eval的区别
- eval()和JSON.parse()
- eval和json.parse的使用
- JSON.parse 和eval的对比
- 见过找好的kafka介绍
- Spring事务配置的五种方式
- linux(apache)
- 马无夜草不肥:程序员做业余项目的重要性
- STL学习之vector
- JSON.parse()和eval()的区别
- 20个C++技巧
- 支持城市及查询条件 车行易车辆违章查询sdk代码示例
- Connection conn = JdbcConnection.getConnection();
- 在android中画圆形图片的几种办法
- 基于 CoreText 的排版引擎:进阶
- 通过前端获取客户端ip和所在城市,并在后端获得这些值
- Activiti学习笔记(引擎配置文件activiti.cfg.xml,不是spring配置文件)
- 苹果开发者各地区联系电话