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 ;
}
?