最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

JS對象序列化成json數(shù)據(jù)和json數(shù)據(jù)轉(zhuǎn)化為JS對象的代碼

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:31:47
文檔

JS對象序列化成json數(shù)據(jù)和json數(shù)據(jù)轉(zhuǎn)化為JS對象的代碼

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.
推薦度:
導(dǎo)讀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.

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 ; 
}

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JS對象序列化成json數(shù)據(jù)和json數(shù)據(jù)轉(zhuǎn)化為JS對象的代碼

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.
推薦度:
標(biāo)簽: js 轉(zhuǎn)換為 json
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top