JSON.stringify和JSON.解析不能在IE9中工作
JSON.stringify and JSON.parse not working in IE9?
我到处使用JSON.Stringify
和JSON.parse
,它在Firefox中工作得很好。它在IE9和IE8中都不起作用。我能做什么?
JSON.stringify
以小写字母s
开头。stringify
和parse
都可以在IE8+中使用,,但只能在标准模式。
如果你目前使用的是怪癖模式,用<!DOCTYPE html>
作为前置。此外,注意您调用的JavaScript方法的大小写—所有内置方法都以小写字符开头。
为什么你要依赖于浏览器拥有的对象,而不是仅仅包含由Douglas Crockford编写的脚本文件…您可以在这里找到最小化的文件:http://www.json.org/js.html
导入后,您就不必担心该方法存在于浏览器中
作为替代方案,在您可能出于某种原因需要在严格模式下运行的场景中(我有另一个包含"use strict"的库),可以查看这里:https://github.com/douglascrockford/JSON-js。我修改了这个,首先检查JSON是否未定义,并且只生成函数JSON。
if (typeof JSON === "undefined") {
var JSON = {
parse: <insert value of json_parse from library here>
};
}
我的问题是应用程序代码不能在IE9中工作(我相信一个参与的库正在使用严格模式)。这就解决了我的问题。
唯一的问题是,发送UTF-8报头将使JSON无效(IE不喜欢这样)。正如问题所描述的那样,这可能仍然适用于IE9…几年前,我曾经写过一本how to。在可以解析原生JSON的浏览器中添加JSON支持可能不是最佳解决方案,因为它会产生无用的开销——仅仅是因为未能以预期的格式交付JSON。
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- Angular JS IE9 Hashbang url rewriting
- 使用JS将数组转换为json对象
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用JQuery解析JSON嵌套数组
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 在IE9中解析xml/json响应
- JSON.stringify和JSON.parse在IE9中不起作用
- JSON将null值传递给IE9中的MVC 4控制器
- ie9不渲染,直到ajax/json功能完成后
- IE9中的Javascript Json问题
- IE9+弄乱了我的JSON对象
- 将ajax返回(json)日期转换为javascript日期(在ie9中不工作)
- JSON.stringify和JSON.解析不能在IE9中工作
- d3.json在IE9上给出JS错误
- 在IE9中,解析数组的JSON对象会得到不同的结果