JS对象序列化成json数据:
function Serialize(obj){ switch(obj.constructor){ case Object: var str = "{"; for(var o in obj){ str += o + ":" + Serialize(obj[o]) +","; } if(str.substr(str.length-1) == ",") str = str.substr(0,str.length -1); return str + "}"; break; case Array: var str = "["; for(var o in obj){ str += Serialize(obj[o]) +","; } if(str.substr(str.length-1) == ",") str = str.substr(0,str.length -1); return str + "]"; break; case Boolean: return "\"" + obj.toString() + "\""; break; case Date: return "\"" + obj.toString() + "\""; break; case Function: break; case Number: return "\"" + obj.toString() + "\""; break; case String: return "\"" + obj.toString() + "\""; break; } } var staff_list_obj ={}; var staff_id = 1001; staff_list_obj[staff_id] = {}; staff_list_obj[staff_id]["姓名"] = '111'; staff_list_obj[staff_id]["测试"] = '222'; alert(Serialize(staff_list_obj));
JS对象序列化为JSON对象的方法二
var $ = $ || {}; /** * 将JS对象序列化为JSON字符串 * @param {Mixed} o The variable to decode * @return {String} The JSON string * String json = $.encode(o); */ $.encode = (function() { if ( typeof(JSON)!=='undefined' && typeof(JSON.stringify)!=='undefined') { return JSON.stringify; } var I = !!{}.hasOwnProperty, _ = function(I) { return I < 10 "0" + I : I; }, A = { "\b" : "\\b", "\t" : "\\t", "\n" : "\\n", "\f" : "\\f", "\r" : "\\r", "\"" : "\\\"", "\\" : "\\\\" }; return (function(C) { if (typeof C == "undefined" || C === null) { return "null"; } else { if (Object.prototype.toString.call(C) === "[object Array]") { var B = ["["], G, E, D = C.length, F; for (E = 0; E < D; E += 1) { F = C[E]; switch (typeof F) { case "undefined" : case "function" : case "unknown" : break; default : if (G) { B.push(","); } B.push(F === null "null" : $.encode(F)); G = true; } } B.push("]"); return B.join(""); } else { if ((Object.prototype.toString.call(C) === "[object Date]")) { return "\"" + C.getFullYear() + "-" + _(C.getMonth() + 1) + "-" + _(C.getDate()) + "T" + _(C.getHours()) + ":" + _(C.getMinutes()) + ":" + _(C.getSeconds()) + "\""; } else { if (typeof C == "string") { return "\"" + C.replace(/([\x00-\x1f\\"])/g, function(B, _) { var I = A[_]; if (I) { return I; } return ''; }).replace(/[^\u0000-\u00FF]/g, function($0) { return escape($0).replace(/(%u)(\w{4})/gi, "\\u$2") }) + "\""; } else { if (typeof C == "number") { return isFinite(C) "null"; } else { if (typeof C == "boolean") { return String(C); } else { B = ["{"], G, E, F; for (E in C) { if (!I || C.hasOwnProperty(E)) { F = C[E]; if (F === null) { continue; } switch (typeof F) { case "undefined" : case "function" : case "unknown" : break; default : if (G) { B.push(","); } B.push($.encode(E), ":", $.encode(F)); G = true; } } } B.push("}"); return B.join(""); } } } } } } }); })();
json数据转化为JS对象:
var jsonString={....}/[....]; eval("var obj="+jsonString); alert(obj);
写道
function evalJSON(json){ var obj = null; try { obj = eval("(" + json + ")"); } catch(E){} return obj ; }
标签:
JS,对象序列化,json
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“JS对象序列化成json数据和json数据转化为JS对象的代码”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。