JavaScript - 将对象转换为字符串(停止工作)

时间:2014-01-16 20:55:26

标签: javascript json internet-explorer-8 ie8-browser-mode

我有javascript对象,我需要将其转换为字符串。

var obj = {"name": "XXX", "age": "27"};

谷歌搜索后我得到JSON.stringify(obj);

如果IE8模式与以下相同,

JSON.stringify(obj);正常工作

浏览器模式:IE8
文档模式:IE8标准

并且相同的代码无效

浏览器模式:IE8
文档模式:怪癖模式

我想知道为什么同样的事情不起作用......

任何想法都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

如果您可以将IE模式修复为IE8和IE8标准,我建议使用JSON.stringifyJSON.stringify将序列化一个对象并且非常易于使用。大多数现代浏览器本身都支持此方法,但对于那些不支持此方法的浏览器,您可以包含JS version

并且如果您无法修复IE模式,请使用以下方法将对象转换为字符串。

<强>功能:

function objToString (obj) {
var tabjson=[];
for (var p in obj) {
    if (obj.hasOwnProperty(p)) {
        tabjson.push('"'+p +'"'+ ':' + '"' +obj[p] + '"');
    }
}  tabjson.push()
return '{'+tabjson.join(',')+'}';
}

调用函数:

var obj = {"name": "XXX", "age": "27"};
objToString(obj );

<强>输出:

"{"name":"XXX","age":"27"}"