eval 替换 解析JSON字串多种方法
2014-08-22 14:36 freefei 阅读(534) 评论(0) 收藏 举报今天看到一篇文章 结束了 eval 在网页中 转换json字符串为 对象的说明, 在ajax中我经常用 eval('('+data+')') 来转换json字符串
文章中说 eval转换不安全 有安全隐患。建议使用官方提供的函数转换 需要下载引入 该文件
解析JSON字串多种方法
解析JSON字串的方法有
(1)var vjson = eval(jsonstr);
缺点:不安全,有可能jsonstr中有恶意脚本,那就麻烦了。
(2)var vjson = json_parse(jsonstr);
安全,解析速度也很快,不过需要引入json_parse.js脚本;
(3)var vjson = JSON.parse(jsonstr);
安全,解析速度也很快。网上声称Firefox 3.1 和 IE 8 RC1浏览器内置该API接口,可以直接使用。如果考虑很多浏览器不支持内置的JSON,则在文件中引入json.js脚本即可。
json.js、json_parse.js两个文件在https://github.com/douglascrockford/JSON-js上可以下载。
附代码:
Javascript代码
src="js/json.js
var t = JSON.parse('{"name":123}');
alert(t.name);
Javascript代码
js/json_parse.js
var t = json_parse('{"name":123}');
alert(t.name);
浙公网安备 33010602011771号