JS对象序列化成json数据:
rush:js;">
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对象的方法二
rush:js;">
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 = ["{"],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对象:
rush:js;">
var jsonString={....}/[....];
eval("var obj="+jsonString);
alert(obj);
写道
rush:js;">
function evalJSON(json){
var obj = null;
try {
obj = eval("(" + json + ")");
} catch(E){}
return obj ;
}
原文地址:https://www.jb51.cc/js/36888.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。