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