具体来说,IE7 +,Firefox 2 +,Chrome,Safari是否支持JSON.parse(...)
答案 0 :(得分:48)
所有主流浏览器都支持JSON.parse吗?
差不多,是的(source)。甚至IE8也有它(假设您不在IE7仿真模式下)。如果您需要支持IE7及更早版本,请继续阅读。
不,旧浏览器(例如IE7)大多没有它。 (更多:http://caniuse.com/#search=JSON.parse)
但是,只需要一个小脚本即可。 JSON的发明者Douglas Crockford在his Github page上有至少三个供您选择:
json2.js
:同时提供JSON.parse
和JSON.stringify
。解析使用一些正则表达式来抵御脚本注入攻击,然后将结果传递给eval
。这通常不被认为是一个非常好的主意。json_parse.js
:不使用eval
的递归下降解析器。json_parse_state.js
:不使用eval
的状态机解析器。使用适合你的方式。 : - )
几乎所有主要库(例如jQuery,Prototype,YUI,Closure或any of several others)也会提供JSON解析,但在某些在eval
上它可能是一个薄的贴面。
答案 1 :(得分:1)
我不敢。但是,您可以使用json2 script written by Douglas Crockford。
以下是John Resig(jQuery的创建者)对此所说的话:
JSON2.js - 去年年底Crockford 悄然发布了他的新版本 JSON API取代了他现有的 API。重要的区别在于 它使用了单个基础对象(JSON) 而不是扩展所有本机对象 原型(booo!)。