此文章由jquery学堂1群里面的网友【重庆-小弄弄】整理分享,功能主要让浏览器支持JSON.stringify和JSON.Parse的方法,实现的javascript脚本代码如下:
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));
}
使用测试代码如下:
var m ={name:'hallo'} ;
console.log(JSON.stringify(m));
如果您觉得本文的内容对您的学习有所帮助:
关键字:
解析JSON JSON.stringify JSON.Parse