本人微信公众号"aeolian"~

js将字符串转json

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会执行内容中的表达式带来一些不必要的问题。

原文

点赞

Leave a Reply

Your email address will not be published. Required fields are marked *