Javascript 脚本5009:';JSON';是未定义的

Javascript 脚本5009:';JSON';是未定义的,javascript,json,internet-explorer,Javascript,Json,Internet Explorer,我在IE9SCRIPT5009中遇到以下错误:只有在兼容模式下,JSON才是未定义的。导致此错误的行是 JSON.stringify(togObj.Answers) 在ie(不兼容模式)、Chrome或Firefox中不会出现此错误。 你知道这是怎么回事吗?是的,JSON是在现代浏览器中本机定义的,但不是在IE中。你需要导入一个库。例如,JSON是: 以下文档模式不支持:怪癖、Internet Explorer 6标准、Internet Explorer 7标准 由于您首先不应该使用(或更糟的

我在IE9
SCRIPT5009中遇到以下错误:只有在兼容模式下,JSON才是未定义的。导致此错误的行是

JSON.stringify(togObj.Answers)
在ie(不兼容模式)、Chrome或Firefox中不会出现此错误。
你知道这是怎么回事吗?

是的,JSON是在现代浏览器中本机定义的,但不是在IE中。你需要导入一个库。例如,JSON是:

以下文档模式不支持:怪癖、Internet Explorer 6标准、Internet Explorer 7标准


由于您首先不应该使用(或更糟的是,重新启用)兼容模式,因此您应该通过添加有效的doctype将IE切换到标准模式。

请参阅此处的博客文章,以了解情况:


在您的页面中包含,您就可以开始了。

如果您在页面中使用jQuery库,那么您可以使用
$。parseJSON
只需更新上面提供的链接(2013!)-

根据,页面底部的链接将向您介绍最新的实施:


您需要包括json2.js


更多细节。有些情况下,我们必须处理客户使用IE7标准的情况。因此,我们的守则也必须顾及这些情况。我们是一个零售网站,数百名使用IE7标准的客户都可以访问我们的网站。包括json2解决了这个问题

我已经做了本地Jquery添加的.NET2.0代码测试,它运行良好,没有任何问题。 但在将代码迁移到IISV6服务器,然后从同一IE浏览器访问之后,问题似乎是“JSON”未定义。 阅读此建议后,下载文件json2.js并将以下内容添加到源代码中

<script  type="text/javascript" src="json2.js"></script>

一切正常


很好,谢谢。

似乎没有定义
JSON
对象。查看如何添加JSON支持。@FilipCornelissen:它需要1.4.1 jquery版本。此外,请验证您的json是否正确。尝试将演示json字符串传递到此函数并验证。从同一页面:“浏览器提供json.parse的本机实现时,jQuery使用它来解析字符串。”和(简化)from:“parseJSON:function(data){return window.json.parse(data);}”。结论是,在IE8或更低版本中本机不起作用。“if(window.JSON&&window.JSON.parse)”只是尝试使用浏览器的本机JSON函数对其进行解析。如果它在那里失败,这意味着你的JSON按照它的规格是错误的。你能发送你试图解析的JSON吗?仅供参考:jQuery 2.0不支持IE 6/7/8。我意外地打开了兼容模式并得到了错误+请注意,IE iframes“继承”父框架的文档模式。因此,如果您可能嵌入到您无法控制的页面中,那么if可能需要远远超出IE7的JSON库。