亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決JSON數(shù)據(jù)因?yàn)閚ull導(dǎo)致數(shù)據(jù)加載失敗的方法

 更新時(shí)間:2016年09月20日 11:05:42   投稿:daisy  
前段時(shí)間發(fā)現(xiàn)一個(gè)問(wèn)題,當(dāng)JSON數(shù)據(jù)中有null會(huì)導(dǎo)致數(shù)據(jù)加載失敗,后來(lái)解決了,現(xiàn)在將解決方法分享給大家,有同樣問(wèn)題的朋友們可以參考。下面來(lái)一起看看吧。

一、首先分析問(wèn)題:

使用NSJSONSerialization或者AFN框架的AFHTTPSessionManager(底層也是NSJSONSerialization)將NSData數(shù)據(jù)轉(zhuǎn)化成OC對(duì)象,有時(shí)會(huì)出現(xiàn)URL正確,加載數(shù)據(jù)任然會(huì)報(bào)錯(cuò):

 reason: '-[NSNull length]: unrecognized selector sent to instance

分析原因發(fā)現(xiàn),轉(zhuǎn)化出來(lái)的OC對(duì)象中含有null.所以,NSNull沒(méi)有l(wèi)ength方法,所以會(huì)報(bào)找不到方法錯(cuò)誤。

二、解決辦法:將"null"替換成“ ”。

     1.先將NSData數(shù)據(jù)轉(zhuǎn)化成NSString;

     2.再對(duì)轉(zhuǎn)化好的NSString進(jìn)行替換;

     3.替換好的NSSting再轉(zhuǎn)化成NSData;

     4.NSData轉(zhuǎn)化成OC對(duì)象

下面提供一個(gè)封裝好的方法,以后直接使用就好了

//替換數(shù)據(jù)中的空字符串
+ (NSArray*)arrayWithNoNullArray:(NSArray*)originalArray {
  //array -> string
  NSData *data = [NSJSONSerialization dataWithJSONObject:originalArray options:0 error:nil];
  NSString *str =[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
  //替換
  NSString *nStr = [str stringByReplacingOccurrencesOfString:@"null" withString:@"\"\""];
  //string -> array
  NSData *nData =[nStr dataUsingEncoding:NSUTF8StringEncoding];
  return [NSJSONSerialization JSONObjectWithData:nData options:0 error:nil];
}

傳入一個(gè)含有null的OC數(shù)組,直接返回替換過(guò)的新數(shù)組。用不含null的數(shù)組再去加載數(shù)據(jù),就不會(huì)有問(wèn)題了。

好了,以上就是解決JSON數(shù)據(jù)因?yàn)閚ull導(dǎo)致數(shù)據(jù)加載失敗的方法,希望對(duì)有需要的朋友們有所幫助,如果有疑問(wèn)打擊可以留言交流。

相關(guān)文章

  • ios啟動(dòng)頁(yè)強(qiáng)制豎屏(進(jìn)入App后允許橫屏與豎屏)

    ios啟動(dòng)頁(yè)強(qiáng)制豎屏(進(jìn)入App后允許橫屏與豎屏)

    最近工作遇到這樣一個(gè)需要,當(dāng)進(jìn)入啟動(dòng)頁(yè)需要強(qiáng)制豎屏,而進(jìn)入APP后就允許橫屏與豎屏,通過(guò)查找相關(guān)的資料找到了解決的方法,所以將實(shí)現(xiàn)的方法整理后分享出來(lái),需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2017-03-03
  • IOS 通過(guò)tag刪除動(dòng)態(tài)創(chuàng)建的UIButton

    IOS 通過(guò)tag刪除動(dòng)態(tài)創(chuàng)建的UIButton

    這篇文章主要介紹了IOS 通過(guò)tag刪除動(dòng)態(tài)創(chuàng)建的UIButton的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • iOS實(shí)現(xiàn)點(diǎn)贊動(dòng)畫特效

    iOS實(shí)現(xiàn)點(diǎn)贊動(dòng)畫特效

    這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)點(diǎn)贊動(dòng)畫特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • IOS 仿支付寶支付屏幕亮度變化機(jī)制

    IOS 仿支付寶支付屏幕亮度變化機(jī)制

    這篇文章主要介紹了IOS 仿支付寶支付屏幕亮度變化機(jī)制的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-01-01
  • iOS獲取當(dāng)前設(shè)備WiFi信息的方法

    iOS獲取當(dāng)前設(shè)備WiFi信息的方法

    很多公司現(xiàn)在都在做免費(fèi)WIFI,車站、公交、地鐵、餐廳,只要是人員密集流動(dòng)的地方就有WIFI,免費(fèi)WIFI從最初的網(wǎng)頁(yè)認(rèn)證方式也逐漸向客戶端認(rèn)證方式偏移。本文主要介紹iOS獲取當(dāng)前設(shè)備WiFi信息的方法,有需要的可以參考借鑒。
    2016-09-09
  • iOS16使用SwiftUI Charts創(chuàng)建折線圖實(shí)現(xiàn)實(shí)例

    iOS16使用SwiftUI Charts創(chuàng)建折線圖實(shí)現(xiàn)實(shí)例

    這篇文章主要為大家介紹了iOS16使用SwiftUI Charts創(chuàng)建折線圖實(shí)現(xiàn)實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • iOS實(shí)現(xiàn)圖片六邊形陰影效果

    iOS實(shí)現(xiàn)圖片六邊形陰影效果

    這篇文章給大家分享了如何利用iOS實(shí)現(xiàn)圖片六邊形陰影的效果,文中給出實(shí)現(xiàn)的示例代碼,對(duì)大家的理解和學(xué)習(xí)很有幫助,有需要的可以參考借鑒,下面來(lái)一起看看吧。
    2016-09-09
  • iOS My97DatePicker日歷使用詳解

    iOS My97DatePicker日歷使用詳解

    這篇文章主要為大家詳細(xì)介紹了iOS My97DatePicker日歷的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • iOS動(dòng)畫特效之立方體翻轉(zhuǎn)

    iOS動(dòng)畫特效之立方體翻轉(zhuǎn)

    今天起為大家?guī)?lái)iOS動(dòng)畫特效合集之立方體翻轉(zhuǎn),APP如美女,動(dòng)畫如衣裳,趕緊為她披上漂亮的衣裝吧!
    2016-08-08
  • iOS Webview自適應(yīng)實(shí)際內(nèi)容高度的4種方法詳解

    iOS Webview自適應(yīng)實(shí)際內(nèi)容高度的4種方法詳解

    這篇文章主要介紹了iOS Webview自適應(yīng)實(shí)際內(nèi)容高度的4種方法詳解,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09

最新評(píng)論