json格式很是受歡迎,而解析json的方式一般用JSON.parse()可是eval()方法也能夠解析,這二者之間有什麼區別呢? git
JSON.parse()之能夠解析json格式的數據,而且會對要解析的字符串進行格式檢查,若是格式不正確則不進行解析,而eval()則能夠解析任何字符串,eval是不安全的。 github
好比下面的字符串: json
var str = 'alert(1000.toString())'; eval(str); JSON.parse(str);
用eval能夠解析,而且會彈出對話框,而用JSON.parse()則解析不了。 其實alert並無什麼壞處,可怕的是若是用惡意用戶在json字符串中注入了向頁面插入木馬連接的腳本,用eval也是能夠操做的,而用JSON.parse()則沒必要擔憂這個問題。 瀏覽器
注意:某些低級的瀏覽器尚不支持JSON.parse(),能夠到 https://github.com/douglascrockford/JSON-js/blob/master/json2.js 下載。 安全