針對項目中使用通用的接口,出現后台的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