String字符串转json

针对项目中使用通用的接口,出现后台的String字符串传到前台解析不出来的问题:

一、使用Jquery自带的$.parseJSON函数,缺点,需要字符串将所有属性全部使用双引号包裹起来,一个空字符串,null,undefined都会返回null

var jsonstr1="{\"id\":\"1\",\"name\":\"aijquery\"}";//严格要求这个格式
var obj=$.parseJSON(jsonstr1);

二、js里的方法,使用eval将字符串转为json,要求低,要求低

var jsonstr1="{\"id\":\"1\",\"name\":\"aijquery\"}";
var jsonstr1="{'id':1,'name':'aijquery'}";
var jsonstr1="{id:1,name:'aijquery'}";
//上面这三种写法,不管是用单引号包裹,还是不包裹,都能用eval来转换为json对象
var obj=eval(jsonstr1);

三、使用浏览器自带的JSON.parse:对格式要求高

var jsonstr1="{\"id\":1,\"name\":\"aijquery\"}";
var obj=JSON.parse(jsonstr1);

四、JSON官方提供的方法

提供了一个json.js,可以用parse()方法来把字符串转换为json,用stringify()来把json转换为字符 

https://github.com/douglascrockford/JSON-js上获取到这个js,

摘自 爱jQuery:http://www.aijquery.cn/Html/jqueryrumen/88.html

猜你喜欢

转载自www.cnblogs.com/ys15/p/11436942.html