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