json的解析方法共有两种:eval() 和 JSON.parse()javascript
例子:java
1 var value = 1; 2 var jsonstr = '{"data1":"hello","data2":++value}'; 3 var data1 = eval_r('('+jsonstr+')'); 4 console.log(data1);//这时value值为2var data2=JSON.parse(jsonstr); 5 console.log(data2);//报错
在代码中使用eval是很危险的,特别是用它执行第三方的JSON数据(其中可能包含恶意代码)时,尽量使用JSON.parse()方法解析字符串自己。json
该方法能够捕捉JSON中的语法错误,并容许你传入一个函数,用来过滤或转换解析结果。若是此方法以备Firfox 3.5 、IE8 及 Safari 4 原生支持。函数
大多数javascript类库包含的JSON解析代码会直接调用原生版本,若是没有原生支持的话,会调用一个略微不那么强大的非原生版原本处理。spa
只有在json.parse解析不了且必定要解析的状况下才不得不考虑使用eval().code