JS对象序列化成json数据:
[代码] [JS]代码
01 |
function Serialize(obj){
|
02 |
switch(obj.constructor){
|
03 |
case Object:
|
04 |
var str = "{";
|
05 |
for(var o in obj){
|
06 |
str += o + ":" + Serialize(obj[o]) +",";
|
07 |
}
|
08 |
if(str.substr(str.length-1) == ",")
|
09 |
str = str.substr(0,str.length -1);
|
10 |
return str + "}";
|
11 |
break;
|
12 |
case Array:
|
13 |
var str = "[";
|
14 |
for(var o in obj){
|
15 |
str += Serialize(obj[o]) +",";
|
16 |
}
|
17 |
if(str.substr(str.length-1) == ",")
|
18 |
str = str.substr(0,str.length -1);
|
19 |
return str + "]";
|
20 |
break;
|
21 |
case Boolean:
|
22 |
return "\"" + obj.toString() + "\"";
|
23 |
break;
|
24 |
case Date:
|
25 |
return "\"" + obj.toString() + "\"";
|
26 |
break;
|
27 |
case Function:
|
28 |
break;
|
29 |
case Number:
|
30 |
return "\"" + obj.toString() + "\"";
|
31 |
break;
|
32 |
case String:
|
33 |
return "\"" + obj.toString() + "\"";
|
34 |
break;
|
35 |
}
|
36 |
}
|
37 |
var staff_list_obj ={};
|
38 |
var staff_id = 1001;
|
39 | staff_list_obj[staff_id] = {}; |
40 |
staff_list_obj[staff_id]["姓名"] = '111';
|
41 |
staff_list_obj[staff_id]["测试"] = '222';
|
42 | alert(Serialize(staff_list_obj)); |
json数据转化为JS对象:
var jsonString={....}/[....];
eval("var obj="+jsonString);
alert(obj);
写道
function evalJSON(json){
var obj = null;
try {
obj = eval("(" + json + ")");
} catch(E){}
return obj ;
}
var obj = null;
try {
obj = eval("(" + json + ")");
} catch(E){}
return obj ;
}
本文介绍了如何使用JavaScript实现对象序列化为JSON字符串及反序列化的具体方法。通过自定义函数Serialize将JS对象转换为JSON格式,并通过evalJSON函数将JSON数据还原为JS对象。

被折叠的 条评论
为什么被折叠?



