很抱歉,我的无能,但经过数周的熬夜并仅使我的网站在线之后,我没有任何余力来调试...我只是无法使用Google在IE6和IE7上实现JSON ...我正在使用
JSON.stringify(...)
据我了解,JSON不是内置在IE6-7上的,必须动态地以内联代码添加...您如何做到这一点?
我已经有了jQuery-我的正确理解是他们的JSON引擎依赖于浏览器本机吗?
然后对使IE6-7失败的无效JSON代码发表一些评论,但我认为它不是IE6-7的本机?
任何人?
Answers:
由于要使用该JSON.stringify
方法,因此需要包括JSON3解析器,以便在IE <8上支持它。
该库符合ECMAScript 5th Edition规范的标准方法,并检查是否有可用的本机实现,因此在现代浏览器中将使用该本机实现。
if (typeof JSON == 'undefined')
一定有一些误会。对象表示法已经在JavaScript中使用了一段时间了(据我所知,这是JavaScript的核心概念)。我的意思是,可以像var o= {a:"b"};
So这样编写代码,如果您可以执行此操作,则还可以调用它eval('var o= {a:"b"};')
,这就是在任何浏览器中“实现JSON”的方式。
更新:重新阅读您的文章,最后明白问题是序列化对象,而不是反序列化它们。然后您可以为此使用JavaScript库:https : //github.com/douglascrockford/JSON-js/blob/master/json2.js
JSON
对象兼容性,则可以使用json2.js。
“动态添加的内联代码”使用的是Douglas Crockfords json2库提供的功能,如果浏览器版本本身不支持jQuery,则使用jQuery自己的实现。
jQuery不依赖浏览器提供的任何JSON解码功能。如果浏览器确实支持JSON解码,那么jQuery将使用它。