热门关键字:
jquery > jquery教程 > javascript > 让浏览器支持JSON.stringify和JSON.Parse的方法

让浏览器支持JSON.stringify和JSON.Parse的方法

6737
作者:管理员
发布时间:2013/10/24 9:53:51
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=353

此文章由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
友荐云推荐