具体来说,是否JSON.parse(...)
支持 IE7+、Firefox 2+、Chrome、Safari?
所有主流浏览器都支持 JSON.parse 吗?
IT技术
javascript
json
parsing
cross-browser
2021-03-03 22:39:14
2个回答
2013 年(及以后)的答案
所有主流浏览器都支持 JSON.parse 吗?
差不多,是的(来源)。甚至 IE8 都有它(前提是您不在 IE7 仿真模式下)。如果您需要支持 IE7 及更早版本,请继续阅读。
2011年的原始答案
不,较旧的浏览器(例如 IE7)大多没有它。(更多:http : //caniuse.com/#search=JSON.parse)
但是,您只需要一个小脚本。JSON 的发明者 Douglas Crockford 在他的 Github 页面上有不少于三个供您选择:
json2.js
: 提供JSON.parse
和JSON.stringify
。解析使用一些正则表达式来防御脚本注入攻击,然后将结果传递给eval
. 这通常不被认为是一个很好的主意。json_parse.js
:一个不使用的递归下降解析器eval
。json_parse_state.js
:不使用eval
.
使用适合你的。:-)
几乎任何主要库(如jQuery、Prototype、YUI、Closure或其他几个库中的任何一个)也将提供 JSON 解析,尽管在某些情况下它可能只是eval
.
恐怕没有。但是,您可以使用Douglas Crockford 编写的 json2 脚本。
以下是 John Resig(jQuery 的创建者)对此的评论:
JSON2.js - 去年年底,Crockford 悄悄发布了他的 JSON API 的新版本,取代了他现有的 API。重要的区别在于它使用单个基础对象 (JSON) 而不是扩展所有本机对象原型(嘘!)。
其它你可能感兴趣的问题