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

发布时间 - 2026-01-11 02:55:59    点击率:

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  # 转化为  # Number  # String  # staff_list_obj  # staff_id  # Function  # Boolean  # Array  # Date  # toString  # variable  # Mixed 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Python制作简易注册登录系统  Android GridView 滑动条设置一直显示状态(推荐)  使用spring连接及操作mongodb3.0实例  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  进行网站优化必须要坚持的四大原则  如何在建站主机中优化服务器配置?  如何快速搭建自助建站会员专属系统?  详解vue.js组件化开发实践  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  如何快速搭建高效WAP手机网站吸引移动用户?  🚀拖拽式CMS建站能否实现高效与个性化并存?  android nfc常用标签读取总结  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  Laravel如何处理和验证JSON类型的数据库字段  如何在Tomcat中配置并部署网站项目?  Python函数文档自动校验_规范解析【教程】  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  如何在IIS服务器上快速部署高效网站?  如何在景安服务器上快速搭建个人网站?  JavaScript实现Fly Bird小游戏  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  如何在建站宝盒中设置产品搜索功能?  怎么用AI帮你设计一套个性化的手机App图标?  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  如何快速辨别茅台真假?关键步骤解析  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  JavaScript如何实现倒计时_时间函数如何精确控制  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  如何用JavaScript实现文本编辑器_光标和选区怎么处理  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  油猴 教程,油猴搜脚本为什么会网页无法显示?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  香港网站服务器数量如何影响SEO优化效果?  如何用y主机助手快速搭建网站?  PHP 500报错的快速解决方法  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  再谈Python中的字符串与字符编码(推荐)  JavaScript如何实现路由_前端路由原理是什么  如何生成腾讯云建站专用兑换码?  Laravel怎么使用Intervention Image库处理图片上传和缩放  如何在云虚拟主机上快速搭建个人网站?  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  UC浏览器如何设置启动页 UC浏览器启动页设置方法