兼容ie6 ajax,js实现对json数据的序列化(兼容ie6以上浏览器)

/**

* 增加对JSON数据的序列化方法,

* 主要用于IE6、7不支持JSON对象的浏览器

*/

var xue = xue || {};

xue.json = xue.json || {};

xue.json.stringify = function(obj) {

//如果是IE8+ 浏览器(ff,chrome,safari都支持JSON对象),使用JSON.stringify()来序列化

if (window.JSON) {

return JSON.stringify(obj);

}

var t = typeof(obj);

if (t != "object" || obj === null) {

// simple data type

if (t == "string") obj = ‘"‘ + obj + ‘"‘;

return String(obj);

} else {

// recurse array or object

var n, v, json = [],

arr = (obj && obj.constructor == Array);

// fix.

var self = arguments.callee;

for (n in obj) {

v = obj[n];

t = typeof(v);

if (obj.hasOwnProperty(n)) {

if (t == "string") v = ‘"‘ + v + ‘"‘;

else if (t == "object" && v !== null)

// v = jQuery.stringify(v);

v = self(v);

json.push((arr ? "" : ‘"‘ + n + ‘":‘) + String(v));

}

}

return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");

}

};

/*

* method : parse(json string)

* return : js原生值

*/

xue.json.parse = function(jsonString) {

if (window.JSON) {

return window.JSON.parse(s);

}

//使用到了jquery的parseJSON(s)方法

return $.parseJSON(jsonString);

};

使用方法:

var _json = {

"js_58":[‘a‘,‘b‘],

"js_39":[‘a‘,‘b‘,‘c‘],

"js_68":[‘a‘]

}

将json对象_json序列化:

xue.json.stringify(_json);

注意:如果ajax传参是json数据对象时,最好将json对象先序列化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值