您好,登錄后才能下訂單哦!
小編給大家分享一下JS對象序列化成json數(shù)據(jù)和json數(shù)據(jù)轉(zhuǎn)化為JS對象的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
JS對象序列化成json數(shù)據(jù):
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數(shù)據(jù)轉(zhuǎn)化為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數(shù)據(jù)和json數(shù)據(jù)轉(zhuǎn)化為JS對象的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。