Jquery ajax不能解析json對象,報(bào)Invalid JSON錯(cuò)誤的原因和解決方法
更新時(shí)間:2010年03月27日 00:24:50 作者:
我們知道Invalid JSON錯(cuò)誤導(dǎo)致的json對象不能解析,一般都是服務(wù)器返回的json字符串的語法有錯(cuò)誤。這種情況下,我們只需要仔細(xì)的檢查一下json就可以解決問題。
下面說一下,最近在使用jquery 1.4中使用$.ajax()方法解析json對象遇到的問題。
Json對象是:
[{name:'二手房出售',infoCount:0,pageUrl:'/ershoufang'},{name:'二手房求購',infoCount:0,pageUrl:'/qiugou'},{name:'二手房裝修',infoCount:0,pageUrl:'/esfzhuangxiu'},{name:'二手回收',infoCount:0,pageUrl:'/huishou'},{name:'二手摩托車',infoCount:0,pageUrl:'/motor'},{name:'二手汽車求購',infoCount:0,pageUrl:'/ershoucheqg'},{name:'二手汽車轉(zhuǎn)讓',infoCount:9,pageUrl:'/ershouche'},{name:'二手市場',infoCount:0,pageUrl:'/ershoushichang'}]
不知道大家有沒有發(fā)現(xiàn)這段json對象的問題。這樣的寫法在js腳本和jquery 1.4之前的版本都是沒有問題的。因?yàn)樵?.3及更早版本中,jQuery通過javascript的eval方法來解析json對象。在1.4中,jQuery使用了更嚴(yán)格的方法來解析json。所有的內(nèi)容都必須使用雙引號(hào)。
這點(diǎn)從jQuery.parseJSON(json) 可以看出,parseJSON在文檔中的解釋是:
接受一個(gè)JSON字符串,返回解析后的對象。
傳入一個(gè)畸形的JSON字符串會(huì)拋出一個(gè)異常。比如下面的都是畸形的JSON字符串:
{test: 1} ( test 沒有包圍雙引號(hào))
{'test': 1} (使用了單引號(hào)而不是雙引號(hào))
另外,如果你什么都不傳入,或者一個(gè)空字符串、null或undefined,parseJSON都會(huì)返回 null 。
Json對象是:
復(fù)制代碼 代碼如下:
[{name:'二手房出售',infoCount:0,pageUrl:'/ershoufang'},{name:'二手房求購',infoCount:0,pageUrl:'/qiugou'},{name:'二手房裝修',infoCount:0,pageUrl:'/esfzhuangxiu'},{name:'二手回收',infoCount:0,pageUrl:'/huishou'},{name:'二手摩托車',infoCount:0,pageUrl:'/motor'},{name:'二手汽車求購',infoCount:0,pageUrl:'/ershoucheqg'},{name:'二手汽車轉(zhuǎn)讓',infoCount:9,pageUrl:'/ershouche'},{name:'二手市場',infoCount:0,pageUrl:'/ershoushichang'}]
不知道大家有沒有發(fā)現(xiàn)這段json對象的問題。這樣的寫法在js腳本和jquery 1.4之前的版本都是沒有問題的。因?yàn)樵?.3及更早版本中,jQuery通過javascript的eval方法來解析json對象。在1.4中,jQuery使用了更嚴(yán)格的方法來解析json。所有的內(nèi)容都必須使用雙引號(hào)。
這點(diǎn)從jQuery.parseJSON(json) 可以看出,parseJSON在文檔中的解釋是:
接受一個(gè)JSON字符串,返回解析后的對象。
傳入一個(gè)畸形的JSON字符串會(huì)拋出一個(gè)異常。比如下面的都是畸形的JSON字符串:
{test: 1} ( test 沒有包圍雙引號(hào))
{'test': 1} (使用了單引號(hào)而不是雙引號(hào))
另外,如果你什么都不傳入,或者一個(gè)空字符串、null或undefined,parseJSON都會(huì)返回 null 。
您可能感興趣的文章:
- jQuery高級(jí)編程之js對象、json與ajax用法實(shí)例分析
- JQuery處理json與ajax返回JSON實(shí)例代碼
- jquery的ajax異步請求接收返回json數(shù)據(jù)實(shí)例
- jQuery Ajax異步處理Json數(shù)據(jù)詳解
- jQuery中使用Ajax獲取JSON格式數(shù)據(jù)示例代碼
- jquery用ajax方式從后臺(tái)獲取json數(shù)據(jù)后如何將內(nèi)容填充到下拉列表
- jsp中利用jquery+ajax在前后臺(tái)之間傳遞json格式參數(shù)
- 詳談 Jquery Ajax異步處理Json數(shù)據(jù).
- JQuery的ajax獲取數(shù)據(jù)后的處理總結(jié)(html,xml,json)
- jquery ajax跨域解決方法(json方式)
- 淺談JSON和JSONP區(qū)別及jQuery的ajax jsonp的使用
- jQuery使用ajax傳遞json對象到服務(wù)端及contentType的用法示例
相關(guān)文章
jQuery獲取當(dāng)前對象標(biāo)簽名稱的方法
獲取當(dāng)前對象標(biāo)簽名稱的方法有很多,本教程為大家介紹下使用jquery獲取的具體實(shí)現(xiàn)2014-02-02
jquery實(shí)現(xiàn)帶縮略圖的可定制高度畫廊效果(5種)
這篇文章主要介紹了jquery可定制高度畫廊效果,很有藝術(shù)感,功能實(shí)現(xiàn)非常簡單,推薦給大家,有需要的小伙伴可以參考下。2015-08-08
基于jquery實(shí)現(xiàn)表格內(nèi)容篩選功能實(shí)例解析
對于表格來說,當(dāng)數(shù)據(jù)比較多的時(shí)候,我們無法一頁一頁的查找,這樣我們就可以進(jìn)行篩選操作,這篇文章主要為大家詳細(xì)介紹了基于jquery實(shí)現(xiàn)表格內(nèi)容篩選功能的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05
JQuery給元素綁定click事件多次執(zhí)行的解決方法
這篇文章主要介紹了JQuery給元素綁定click事件多次執(zhí)行的解決方法,需要的朋友可以參考下2014-05-05
jQuery動(dòng)態(tài)效果顯示人物結(jié)構(gòu)關(guān)系圖的方法
這篇文章主要介紹了jQuery動(dòng)態(tài)效果顯示人物結(jié)構(gòu)關(guān)系圖的方法,涉及jQuery操作json結(jié)構(gòu)數(shù)據(jù)及鼠標(biāo)事件的技巧,需要的朋友可以參考下2015-05-05

