JSON.parse相容IE8以下版本
阿新 • • 發佈:2018-12-19
工作需求,維護一個老系統,使用者的瀏覽器有IE6\7\8\11不等。新寫的功能程式碼用到了JSON.parse方法。
測試過程中發現,IE8以下不相容,該專案必須使用IE 瀏覽器,因為有特殊的控制元件載入
最終搜尋了下面方法,最終使用了方法三,下載一個json2.js檔案匯入專案即可,比較方便,記錄一下 供參考
問題分析: 將字串轉換成json物件,IE8相容模式不支援通過JSON.parse將字串轉換成JSON物件的方法。雖然我是IE8的瀏覽器,用IE8開啟也能夠支援,
解決方案1:
eval方式解析,恐怕這是最早的解析方式了。如下:
function strToJson(str){ var json = eval('(' + str + ')'); return json; }
解決方案2:
new Function形式,比較怪異哦。如下:
function strToJson(str){
var json = (new Function("return " + str))();
return json;
}
解決方案3(推薦):
把json2.js引入到頁面,就OK了。so easy 媽媽在也不用擔心我的學習了
https://github.com/douglascrockford/JSON-js
若上面git資源地址無效,請自行百度