Jquery ajax不能解析json對(duì)象,報(bào)Invalid JSON錯(cuò)誤的原因和解決方法
更新時(shí)間:2010年03月27日 00:24:50 作者:
我們知道Invalid JSON錯(cuò)誤導(dǎo)致的json對(duì)象不能解析,一般都是服務(wù)器返回的json字符串的語法有錯(cuò)誤。這種情況下,我們只需要仔細(xì)的檢查一下json就可以解決問題。
下面說一下,最近在使用jquery 1.4中使用$.ajax()方法解析json對(duì)象遇到的問題。
Json對(duì)象是:
[{name:'二手房出售',infoCount:0,pageUrl:'/ershoufang'},{name:'二手房求購(gòu)',infoCount:0,pageUrl:'/qiugou'},{name:'二手房裝修',infoCount:0,pageUrl:'/esfzhuangxiu'},{name:'二手回收',infoCount:0,pageUrl:'/huishou'},{name:'二手摩托車',infoCount:0,pageUrl:'/motor'},{name:'二手汽車求購(gòu)',infoCount:0,pageUrl:'/ershoucheqg'},{name:'二手汽車轉(zhuǎn)讓',infoCount:9,pageUrl:'/ershouche'},{name:'二手市場(chǎng)',infoCount:0,pageUrl:'/ershoushichang'}]
不知道大家有沒有發(fā)現(xiàn)這段json對(duì)象的問題。這樣的寫法在js腳本和jquery 1.4之前的版本都是沒有問題的。因?yàn)樵?.3及更早版本中,jQuery通過javascript的eval方法來解析json對(duì)象。在1.4中,jQuery使用了更嚴(yán)格的方法來解析json。所有的內(nèi)容都必須使用雙引號(hào)。
這點(diǎn)從jQuery.parseJSON(json) 可以看出,parseJSON在文檔中的解釋是:
接受一個(gè)JSON字符串,返回解析后的對(duì)象。
傳入一個(gè)畸形的JSON字符串會(huì)拋出一個(gè)異常。比如下面的都是畸形的JSON字符串:
{test: 1} ( test 沒有包圍雙引號(hào))
{'test': 1} (使用了單引號(hào)而不是雙引號(hào))
另外,如果你什么都不傳入,或者一個(gè)空字符串、null或undefined,parseJSON都會(huì)返回 null 。
Json對(duì)象是:
復(fù)制代碼 代碼如下:
[{name:'二手房出售',infoCount:0,pageUrl:'/ershoufang'},{name:'二手房求購(gòu)',infoCount:0,pageUrl:'/qiugou'},{name:'二手房裝修',infoCount:0,pageUrl:'/esfzhuangxiu'},{name:'二手回收',infoCount:0,pageUrl:'/huishou'},{name:'二手摩托車',infoCount:0,pageUrl:'/motor'},{name:'二手汽車求購(gòu)',infoCount:0,pageUrl:'/ershoucheqg'},{name:'二手汽車轉(zhuǎn)讓',infoCount:9,pageUrl:'/ershouche'},{name:'二手市場(chǎng)',infoCount:0,pageUrl:'/ershoushichang'}]
不知道大家有沒有發(fā)現(xiàn)這段json對(duì)象的問題。這樣的寫法在js腳本和jquery 1.4之前的版本都是沒有問題的。因?yàn)樵?.3及更早版本中,jQuery通過javascript的eval方法來解析json對(duì)象。在1.4中,jQuery使用了更嚴(yán)格的方法來解析json。所有的內(nèi)容都必須使用雙引號(hào)。
這點(diǎn)從jQuery.parseJSON(json) 可以看出,parseJSON在文檔中的解釋是:
接受一個(gè)JSON字符串,返回解析后的對(duì)象。
傳入一個(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對(duì)象、json與ajax用法實(shí)例分析
- JQuery處理json與ajax返回JSON實(shí)例代碼
- jquery的ajax異步請(qǐng)求接收返回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對(duì)象到服務(wù)端及contentType的用法示例
相關(guān)文章
jQuery中extend函數(shù)簡(jiǎn)單用法示例
這篇文章主要介紹了jQuery中extend函數(shù)簡(jiǎn)單用法,結(jié)合實(shí)例形式簡(jiǎn)單分析了jQuery使用extend函數(shù)擴(kuò)展對(duì)象屬性的相關(guān)操作技巧,需要的朋友可以參考下2017-10-10jQuery Mobile和HTML5開發(fā)App推廣注冊(cè)頁(yè)
jQuery Mobile和HTML5的組合可以直接開發(fā)web版的app,下面通過本教程給大家分享jQuery Mobile和HTML5開發(fā)App推廣注冊(cè)頁(yè)的實(shí)例代碼,感興趣的朋友參考下吧2016-11-11優(yōu)化Jquery,提升網(wǎng)頁(yè)加載速度
本文是對(duì)優(yōu)化Jquery,提升網(wǎng)頁(yè)加載速度方面進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-11-11jquery實(shí)現(xiàn)的3D旋轉(zhuǎn)木馬特效代碼分享
這篇文章主要介紹了jquery實(shí)現(xiàn)的3D旋轉(zhuǎn)木馬特效,功能實(shí)現(xiàn)非常簡(jiǎn)單,推薦給大家,有需要的小伙伴可以參考下。2015-08-08幾種二級(jí)聯(lián)動(dòng)案例(jQuery\Array\Ajax php)
這篇文章主要為大家詳細(xì)介紹了幾種二級(jí)聯(lián)動(dòng)案例(jQuery\Array\Ajax php),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08