js将字符串转json
从JSON文件中读取json字符串
//列表模拟数据
var jsondata;
$.getJSON("/jsondata/devicelist.json", function (data) {
jsondata = data;
console.info(data)
});
Json格式字符串
"{"rows":[{"date":"2018-11-19","money":"22","type":"2"}],"currentTime":"2018-11-19","reportType":"day"}"
Json对象
{
"rows": [{
"date": "2018-11-19",
"money": "22",
"type": "2"
}],
"currentTime": "2018-11-19",
"reportType": "day"
}
总结:Json字符串只不过是json对象边缘加个双引号,注意,json字符串key的引号只能为双引号,单引号不行
1、jQuery插件支持的转换方式:
示例:
$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象
2、浏览器支持的转换方式(Firefox,chrome,opera,safari,ie)等浏览器:
示例:
JSON.parse(jsonstr); //可以将json字符串转换成json对象
JSON.stringify(jsonobj); //可以将json对象转换成json对符串
注:ie8(兼容模式),ie7和ie6没有JSON对象,推荐采用JSON官方的方式,引入json.js。
3、Javascript支持的转换方式:
eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号
注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。
4、JSON官方的转换方式:
http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;
可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。
综上,首先推荐1,其次是4,2兼容性不好,3会执行内容中的表达式带来一些不必要的问题。
![微信公众号二维码](https://images.cnblogs.com/cnblogs_com/aeolian/1679458/o_wechat_gzh_qrcode.jpg)