重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下JS对象序列化成json数据和json数据转化为JS对象的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
站在用户的角度思考问题,与客户深入沟通,找到涪陵网站设计与涪陵网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、成都做网站、企业官网、英文网站、手机端网站、网站推广、空间域名、网络空间、企业邮箱。业务覆盖涪陵地区。
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) ? String(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数据和json数据转化为JS对象的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!