Object序列化成一个字符串(JSON的序列化)
来源:互联网 发布:数据分析预测软件 编辑:程序博客网 时间:2024/05/16 07:09
//法1function objToStr(obj){ var type = typeof obj; if(type === 'number') return obj; if(type === 'string') return '"' + encodeStr(obj) + '"'; if(obj == null || type !== 'object') return '""'; var list = []; if(obj instanceof Array) { var len = obj.length; while(len--){ list.unshift(objToStr(obj[len])); } return '[' + list.join(',') + ']'; } for(var k in obj){ list.push('"' + encodeStr(k) + '":' + objToStr(obj[k])); } return '{' + list.join(',') + '}'; } function encodeStr(str){ return str.replace(/"/g, '\\\"'); }//法2(function() { "use strict"; var escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, meta = { '\b' : '\\b', '\t' : '\\t', '\n' : '\\n', '\f' : '\\f', '\r' : '\\r', '"' : '\\"', '\\' : '\\\\' }; function quote(string) { return '"' + string.replace(escapable, function(a) { var c = meta[a]; return typeof c === "string" ? c : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4); }) + '"'; } function f(n) { return n < 10 ? "0" + n : n; } function str(key, holder) { var i, v, len, partial, value = holder[key], type = typeof value; if (value && typeof value === "object" && typeof value.toJSON === "function") { value = value.toJSON(key); type = typeof value; } switch (type) { case "string": return quote(value); case "number": return isFinite(value) ? String(value) : "null"; case "boolean": return String(value); case "object": if (!value) { return "null"; } switch (Object.prototype.toString.call(value)) { case "[object Date]": return isFinite(value.valueOf()) ? '"' + value.getUTCFullYear() + "-" + f(value.getUTCMonth() + 1) + "-" + f(value.getUTCDate()) + "T" + f(value.getUTCHours()) + ":" + f(value.getUTCMinutes()) + ":" + f(value.getUTCSeconds()) + "Z" + '"' : "null"; case "[object Array]": len = value.length; partial = []; for (i = 0; i < len; i++) { partial.push(str(i, value) || "null"); } return "[" + partial.join(",") + "]"; default: partial = []; for (i in value) { if (Object.prototype.hasOwnProperty.call(value, i)) { v = str(i, value); if (v) { partial.push(quote(i) + ":" + v); } } } return "{" + partial.join(",") + "}"; } } } function stringifyJSON(value) { if (window.JSON && window.JSON.stringify) { return window.JSON.stringify(value); } return str("", {"": value}); } // 暴露stringifyjson的全局对象 window.stringifyJSON = stringifyJSON;}());
0 0
- Object序列化成一个字符串(JSON的序列化)
- object序列化成json字符串
- DataTable序列化成Json字符串
- js对象序列化成json字符串
- Java 序列化学习 —— Object序列化成字符串
- 序列化成json数据
- Json序列化成实体
- 一段序列化成JSON格式的代码
- 对象序列化成JSON格式
- XML如何序列化成字符串
- android parcelable序列化成字符串
- Gson序列化与反序列化成员变量为Map<String,Object>的类对象
- Django model,QuerySet 序列化成json的方法
- JavaScriptSerializer序列化成Json时DateTime类型数据的处理
- JavaScriptSerializer序列化成Json时DateTime类型数据的处理
- .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
- .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
- NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
- uLua热更新学习笔记
- 简述dom中的事件流概念
- Python ImportError: cannot import name 'MongoClient'
- Jmeter分布式测试
- Spring事务详解
- Object序列化成一个字符串(JSON的序列化)
- 如何更改状态栏的样式
- DPDK中文-查看dpdk是否支持该网卡
- android Activity 的7个生命周期
- 腾讯云Centos7系统tomcat7安装和测试
- .NET 程序权限控制、获得管理员权限代码
- 关于Hbase在javaAPI操作表的操作
- scala 编写 ip count 对apache 日志 IP 简单统计
- 安徽大学大一高数第五章更新