您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页JS对象序列化成json数据和json数据转化为JS对象的代码

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

Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务