欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決JSON數(shù)據(jù)因為null導(dǎo)致數(shù)據(jù)加載失敗的方法

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

一、首先分析問題:

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

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

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

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

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

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

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

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

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

//替換數(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];
}

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

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

相關(guān)文章

  • ios啟動頁強制豎屏(進入App后允許橫屏與豎屏)

    ios啟動頁強制豎屏(進入App后允許橫屏與豎屏)

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

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

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

    iOS實現(xiàn)點贊動畫特效

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

    IOS 仿支付寶支付屏幕亮度變化機制

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

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

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

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

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

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

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

    iOS My97DatePicker日歷使用詳解

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

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

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

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

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

最新評論