【www.gdgbn.com--js教程】

包括全局的json对象和date的tojson方法。

1,eval方式解析,恐怕这是最早的解析方式了。

view sourceprint?1 function strtojson(str){ 

2      var json = eval("(" + str + ")"); 

3      return json; 

4 }

记得str两旁的小括号哦。

 

2,new function形式,比较怪异哦。

view sourceprint?1 function strtojson(str){ 

2     var json = (new function("return " + str))(); 

3     return json; 

4 }

 

3,使用全局的json对象。

view sourceprint?1 function strtojson(str){ 

2     return json.parse(str); 

3 }

目前ie8(s)/firefox3.5+/chrome4/safari4/opera10 已实现了该方法。

使用json.parse需严格遵守json规范,如属性都需用引号引起来,如下

view sourceprint?1 var str = "{name:"jack"}"; 

2 var obj = json.parse(str); // --> parse error

name没有用引号引起来,使用json.parse所有浏览器中均抛异常,解析失败。而前两种方式则没问题。

本文来源:http://www.gdgbn.com/wangyezhizuo/29446/