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]) + "," ;?????
|
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]) + "," ;?????
|
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 ;?????????
|
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 ;
}
?