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对象先序列化
相关文章
- [转] web前端js构造无法销毁的类UUID识别码,识别浏览器设备唯一性
- vue - webpack.dev.conf.js for FriendlyErrorsPlugin
- js正则表达式验证中文,手机号
- Asp.net/Jquery/JS中各种数据转换为【JSON数据格式】的类!(相当好,转)
- 【Vue/Js】如何解决谷歌浏览器(chrome)扩展插件安装后,再打开自动消失问题(两种解决方案)
- 【JS】js创建Object对象和构造函数的多种方法(综合示例)
- Vue - 实现动态且 “可重复“ 开启与关闭动画,由 JS 点击 / 长按等事件控制开启 “某个元素“ 的 CSS 动画(类似常见的点赞动画效果可以一直重复触发动画)详细示例源代码教程
- PHP和js判断访问终端是否是微信浏览器
- JS里的原始值与引用值
- Web前端-Vue.js必备框架(五)
- js浏览器对象模型-BOM
- 【HarmonyOS】【JS】 鸿蒙js开发使用div自带的scroll,滑动条拉不到最下面?
- JS实现九九乘法表
- jquery.cookie.js 使用方法
- css/js 实现单行/多行省略
- 【企鹅电竞直播源】浏览器抓取真实直播源地址(纯前端JS & PHP解析源码)
- js 给json添加新的字段,或者添加一组数据,在JS数组指定位置删除、插入、替换元素
- JS 工具函数 方法(其中js的crc32和php的crc32区别)
- js修改input的type属性问题(兼容所有浏览器,主要用于密码类的默认有提示文字的效果)
- 在Nuxt.js如何使用Vuex最新教程
- js 复制网页内容,兼容各浏览器
- 【cocos2d-js官方文档】五、Cocos2d-JS v3.0的新Action API
- 配置 node.js 环境
- js-原生Js汉语拼音首字母匹配城市名
- JS中的深拷贝和浅拷贝