禿頭筆記3——IE9如下JSON處理方案

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)
複製代碼
相關文章
相關標籤/搜索