所有主流浏览器都支持 JSON.parse 吗? [复制]

2024-04-19

可能的重复:
浏览器原生 JSON 支持 (window.JSON) https://stackoverflow.com/questions/891299/browser-native-json-support-window-json

具体来说,就是JSON.parse(...)IE7+、Firefox 2+、Chrome、Safari 支持吗?

See: JavaScript 中的 JSON http://www.json.org/js.html


2013年(及以后)的答案

所有主流浏览器都支持 JSON.parse 吗?

差不多,是的(source http://caniuse.com/#search=JSON.parse)。即使 IE8 也有它(前提是您没有处于 IE7 模拟模式)。如果您需要支持 IE7 及更早版本,请继续阅读。

2011年的原始答案

不,较旧的浏览器(例如 IE7)大多没有它。 (更多的:http://caniuse.com/#search=JSON.parse http://caniuse.com/#search=JSON.parse)

然而,您只需要一个小脚本即可。 JSON 的发明者 Douglas Crockford 至少有三种供你选择他的 Github 页面 https://github.com/douglascrockford/JSON-js/:

  • json2.js: 两者都提供JSON.parse and JSON.stringify。解析使用一些正则表达式来防御脚本注入攻击,然后将结果传递给eval。这通常被认为不是一个好主意。
  • json_parse.js:不使用递归下降解析器eval.
  • json_parse_state.js:不使用的状态机解析器eval.

使用适合你的东西。 :-)

几乎任何主要的图书馆(例如jQuery http://jquery.com, 原型 http://prototypejs.org, YUI http://developer.yahoo.com/yui/, Closure http://code.google.com/closure/library, or 其他几个中的任何一个 http://en.wikipedia.org/wiki/List_of_JavaScript_libraries)还将提供 JSON 解析,尽管在某些情况下它很可能只是一个薄薄的饰面eval.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

所有主流浏览器都支持 JSON.parse 吗? [复制] 的相关文章

随机推荐