对不起我的住院病人,但是经过几个星期熬夜并且刚刚把我的网络放到网上,我只是没有任何剩余的能量来调试......我不能谷歌如何在IE6上实现JSON& IE7 ......我正在使用
JSON.stringify(...)
根据我的理解,JSON不是内置在IE6-7上,必须在内联代码中动态添加......你是如何做到的?
我已经有了jQuery - 我是否正确理解他们的JSON引擎依赖于浏览器本机?
然后对IE6-7失败的无效JSON代码发表评论,但我认为它在IE6-7中不是原生的?
任何?
答案 0 :(得分:105)
由于您要使用JSON.stringify
方法,因此需要包含JSON3 parser以便在IE上支持它< 8。
此库符合ECMAScript第5版规范的标准方法,它会检查是否有可用的本机实现,因此在现代浏览器中将使用此本机实现。
答案 1 :(得分:2)
必须有一些被误解的东西。对象表示法已经在JavaScript中存在了一段时间(据我所知,它是JavaScript的核心概念)。我的意思是,能够编写像var o= {a:"b"};
这样的代码
所以,如果你能做到这一点,你也可以调用eval('var o= {a:"b"};')
,这就是你在任何浏览器中“实现JSON”的方式。
更新:重新阅读你的帖子,最后得出的问题是序列化对象,而不是反序列化它们。然后,您可以使用JavaScript库:https://github.com/douglascrockford/JSON-js/blob/master/json2.js
答案 2 :(得分:2)
只需在文件中加入json2.js即可使用JSON。 它也适用于IE 9。
答案 3 :(得分:1)
“动态添加内联代码”使用Douglas Crockfords json2库提供的功能,或jQuery自己的实现,如果浏览器版本本身不支持它。
jQuery不依赖于浏览器提供的任何JSON解码功能。如果浏览器支持JSON解码,那么jQuery将使用它。