JS对象序列化成json数据跟json数据转化为JS对象
JS对象序列化成json数据和json数据转化为JS对象
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 ;
}