IE9版本如下的瀏覽器不支持JSON對象,也就沒法使用JSON.stringify和JSON.parse方法,在這裏,本人寫了一段兼容處理的代碼,但願對你們有所幫助。瀏覽器
(function (global) {
// JSON轉字符串 (兼容IE 7)
var JSONUtil = window.JSON ? window.JSON : {
stringify: function (obj) {
var result = this.isArray(obj) ? '[' : '{';
if (this.isArray(obj)) {
for (var i in obj) {
if (this.isObject(obj[i])) {
result += (this.stringify(obj[i]) + ',');
} else {
result += ('"' + obj[i] + '",');
}
}
} else {
for (var i in obj) {
if (this.isObject(obj[i])) {
result += ('"' + i + '":' + this.stringify(obj[i]) + ',');
} else {
result += ('"' + i + '":"' + obj[i] + '",');
}
}
}
return result.substring(0, result.length - 1) + (this.isArray(obj) ? ']' : '}');
},
parse: function (str) {
var obj = null;
eval('obj=' + str);
return obj;
},
isArray: function (obj) {
return obj instanceof Array;
},
isObject: function (obj) {
return obj instanceof Object;
}
};
global.JSONUtil = JSONUtil;
if (!global.JSON) {
global.JSON = JSONUtil;
}
})(window)
複製代碼