1. 程式人生 > >JSON.parse相容IE8以下版本

JSON.parse相容IE8以下版本

工作需求,維護一個老系統,使用者的瀏覽器有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資源地址無效,請自行百度