包括全局的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所有浏览器中均抛异常,解析失败。而前两种方式则没问题。
时间: 2024-10-26 07:54:58