最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题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关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 22:31:47
文档

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.
推荐度:
导读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.


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数据和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.
推荐度:
标签: js 转换为 json
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top