让某些浏览器支持JSON.stringify

        function forIn(obj, handler) {
            for (var i in obj) {
                if (obj.hasOwnProperty(i)) {
                    handler(i, obj[i]);
                }
            }
        }
        function each(arr, handler) {
            for (var i = 0, len = arr.length; i < len; i += 1) {
                handler(i, arr[i]);
            }
        }
        if (!JSON) {
            JSON = {};
        }
        if (!JSON.parse) {
            JSON.parse = function (json) {
                return eval(‘1,‘ + json)
            };
        }
        if (!JSON.stringify) {
            (function (JSON) {
                var arr = ‘[object Array]‘,
                    obj = ‘[object Object]‘;

                JSON.stringify = function (json) {
                    var t = ‘‘;
                    var m = Object.prototype.toString.call(json);
                    if (m == arr) {
                        t = ArrPartten(json);
                    } else if (m == obj) {
                        t = ObjectJson(json);
                    } else {
                        t = json;
                    }
                    return t;
                }

                function ObjectParse() {
                    var t = ‘{‘;
                    forIn(json, function (i, ele) {
                        var m = Object.prototype.toString.call(ele);
                        if (m == arr) {
                            t += i + ‘:‘ + ArrPartten(ele) + ‘,‘;
                        } else if (m == obj) {
                            t += i + ‘:‘ + ObjectJson(ele) + ‘,‘;
                        } else {

                            t += i + ‘:‘ + ele + ‘,‘;
                        }
                    });
                    if (t.length != 1) {
                        t = t.substring(0, t.length - 1);
                    }
                    return t + ‘}‘;
                }

                function ArrayParse() {
                    var t = ‘[‘;
                    each(json, function (i, ele) {
                        var m = Object.prototype.toString.call(ele);
                        if (m == arr) {
                            t += ArrPartten(ele) + ‘,‘;
                        } else if (m == obj) {
                            t += ObjectJson(ele) + ‘,‘;
                        } else {
                            t += ele + ‘,‘;
                        }
                    });
                    if (json.length > 0) {
                        t = t.substring(0, t.length - 1);
                    }
                    return t + ‘]‘;
                }
            }(JSON));
        }
时间: 2024-11-05 19:45:43

让某些浏览器支持JSON.stringify的相关文章

JS中JSON.stringify()方法,将js对象转换成字符串,传入服务器

JSON 通常用于与服务端交换数据. 在向服务器发送数据时一般是字符串. 我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串. 语法 JSON.stringify(value[, replacer[, space]]) 参数说明: value: 必需, 要转换的 JavaScript 值(通常为对象或数组). replacer: 可选.用于转换结果的函数或数组. 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个

SJ9012: IE6 IE7 不支持 JSON 对象

标准参考 JSON 是一种数据交换格式,RFC 4627 对 JSON 进行了详细描述. 根据 ECMA-262(ECMAScript)第 5 版中描述,JSON 是一个包含了函数 parse 和 stringify 的简单对象. parse 函数用来解析一个 JSON 文本(一个 JSON 格式的字符串)到一个 ECMAScript 值(例如 JSON 对象被解析为 ECMAScript 对象, JSON 数组被解析为 ECMAScript 数组,其它类型以此类推):stringify 则相反

JSON.stringify 语法实例讲解

可能有些人对系列化这个词过敏,我的理解很简单.就是说把原来是对象的类型转换成字符串类型(或者更确切的说是json类型的).就这么简单.打个比方说,你有一个类,那么你可以通过这个方法转换成相应的json类型的 认识javascript也不短的时间了,可是这个用法说实在的,我还是第一次见过,惭愧啊惭愧啊.于是乎,在网上找了写资料,写了些例子 希望能给园子们一些帮助. 作用:这个函数的作用主要是为了系列化对象的.  可能有些人对系列化这个词过敏,我的理解很简单.就是说把原来是对象的类型转换成字符串类型

JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)

在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSON转为字符串.JSON.parse(string)将字符串转为JSON格式: var a={"name":"tom","sex":"男","age":"24"}; var aToStr =

js中解析json时候的eval和$.parseJSON()的区别以及JSON.stringify()

1.第一个区别是:安全性 json格式非常受欢迎,而解析json的方式通常用JSON.parse()但是eval()方法也可以解析,这两者之间有什么区别呢?      JSON.parse()之可以解析json格式的数据,并且会对要解析的字符串进行格式检查,如果格式不正确则不进行解析,而eval()则可以解析任何字符串,eval是不安全的 如: var str = 'alert(1000.toString())'; eval(str); JSON.parse(str);  用eval可以解析,并

IE6 IE7 IE8(Q) 不支持 JSON 对象

标准参考 JSON 是一种数据交换格式,RFC 4627 对 JSON 进行了详细描述. 根据 ECMA-262(ECMAScript)第 5 版中描述,JSON 是一个包含了函数 parse 和 stringify 的简单对象. parse 函数用来解析一个 JSON 文本(一个 JSON 格式的字符串)到一个 ECMAScript 值(例如 JSON 对象被解析为 ECMAScript 对象, JSON 数组被解析为 ECMAScript 数组,其它类型以此类推):stringify 则相反

JSON对象的解析,JSON.stringify()/JSON.parse()的用法

ECMAScript 5 对解析 JSON 的行为进行规范,定义了全局对象 JSON .支持这个对象的浏览器有 IE 8+.Firefox 3.5+.Safari 4+.Chrome 和Opera 10.5+. JSON 对象有两个方法: stringify() 和 parse() 用法如下: JSON.stringify()的用法/参数介绍 1.JSON.stringify(jsonObj),jsonObj为JSON数据,该方法是将JSON格式的数据,序列化成字符串类型 var bigWeb=

IE6 IE7 不支持 JSON

IE6 IE7 不支持 JSON 最近发现ie6.7不支持json,解决方法:引入json2.js     <script type="text/javascript" src="json2.js"></script> json2.js下载:http://pan.baidu.com/s/1tHyDJ 以下摘自:SJ9012: IE6 IE7 IE8(Q) 不支持 JSON 对象 标准参考 JSON 是一种数据交换格式,RFC 4627 对 J

HTML5, CSS3, ES5新的web标准和浏览器支持一览 转

本文整理了一些最重要(或者说人气比较高罢)的新标准,虽然它们多数还只是w3c的草案,离Recommendation级别还早,却已经成为新一轮浏览器大战中备受追捧的明星,开发者社区里也涌现出大量相关的demo和API封装,有些已经进入生产环境(比如google在iphone上实现的gmail离线应用),其实我觉得如今的web领域里,从厂商私有技术转换成委员会标准再转换成通用技术产生杀手级应用的周期已经显著的加速了,是因为现在web application的需求太高了么…… UPDATE:刚才在so