工作需求,维护一个老系统,用户的浏览器有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资源地址无效,请自行百度