首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >IE 8是否支持JSON.stringify()?

IE 8是否支持JSON.stringify()?
EN

Stack Overflow用户
提问于 2010-07-25 04:59:23
回答 5查看 84.8K关注 0票数 60

我需要使用:

代码语言:javascript
复制
JSON.stringify()

Chrome、Safari和Firefox都应该支持它。我认为IE8也支持JSON对象。我认为IE7和6不需要,所以我这样做:

代码语言:javascript
复制
<!--[if lt IE 8]>
    <script src="http://www.json.org/json2.js"></script>
<![endif]-->

因此,我认为只有在IE6 & 7的情况下才会导入外部JavaScript。我查看了托管脚本的URL,它们仅包含IE版本低于9的情况:

代码语言:javascript
复制
http://code.google.com/p/html5shiv/
<!--[if lt IE 9]>
    <script src="http://www.json.org/json2.js"></script>
<![endif]-->

那么,我应该在IE8中也包含这个吗?

EN

回答 5

Stack Overflow用户

发布于 2011-08-25 23:32:55

为了直接回答标题中的问题,是的,IE8本机支持JSON.stringify()

IE8是第一个获得这种支持的IE版本,开发团队在这里对该功能进行了详细说明:http://blogs.msdn.com/b/ie/archive/2008/09/10/native-json-in-ie8.aspx

答案是问题的第二部分,是的,您需要包含IE6/IE7的替代功能。像Modernizr这样的东西可以很容易地检查这一点。

另请注意,如果用户在IE8的兼容性视图中,则JSON对象将不可用。

票数 66
EN

Stack Overflow用户

发布于 2012-06-08 06:15:44

如果你使用IE 8尝试JSON.stringify(),你需要确保它不能在兼容模式下工作。请参阅JSON object undefined in Internet Explorer 8

您需要添加

代码语言:javascript
复制
<meta http-equiv="X-UA-Compatible" content="IE=8" />

转到您的页面

票数 31
EN

Stack Overflow用户

发布于 2014-02-27 21:09:49

将以下代码放入js文件中;

代码语言:javascript
复制
var JSON = JSON || {};

// implement JSON.stringify serialization
JSON.stringify = JSON.stringify || function (obj) {

var t = typeof (obj);
if (t != "object" || obj === null) {

    // simple data type
    if (t == "string") obj = '"'+obj+'"';
    return String(obj);

}
else {

    // recurse array or object
    var n, v, json = [], arr = (obj && obj.constructor == Array);

    for (n in obj) {
        v = obj[n]; t = typeof(v);

        if (t == "string") v = '"'+v+'"';
        else if (t == "object" && v !== null) v = JSON.stringify(v);

        json.push((arr ? "" : '"' + n + '":') + String(v));
    }

    return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
}
};

// implement JSON.parse de-serialization
JSON.parse = JSON.parse || function (str) {
if (str === "") str = '""';
eval("var p=" + str + ";");
return p;
 };
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3326893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档