当前位置: 代码迷 >> JavaScript >> JS对象序列化成json数据跟json数据转化为JS对象
  详细解决方案

JS对象序列化成json数据跟json数据转化为JS对象

热度:290   发布时间:2012-10-07 17:28:51.0
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 ;
}

?

  相关解决方案