栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

JS对象序列化成json数据和json数据转化为JS对象的代码

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 $ = $ || {};



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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/85536.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号