NSJSONSerialization 轉換為 NSDictionary或NSArray 為null解決方案

當使用系統自帶的NSJSONSerialization 將請求返回的data轉換為NSDictionary或NSArray 時有可能為null,這時可能是json中包含中文字符,我們可以改變編碼格式對獲取到的data數據先用CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)編碼轉換為NSString,再轉成NSData ,最后再使用NSJSONSerialization解析,具體如下:

NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

//

NSString *receiveStr = [[NSString alloc]initWithData:data encoding:enc];

//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 字符串再生成NSData

NSData * data = [receiveStr dataUsingEncoding:NSUTF8StringEncoding];

//再解析

NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • OC中的類分為可變和不可變。下表列出了Foundation框架中主要的可變類和不可變類: 種類 不可變類 可變類 ...
    陳_振閱讀 552評論 0 0
  • 一、iOS 4種JSON數據解析方法詳解 2013年09月10日? 綜合? 共 9124字? 字號小中大?評論關閉...
    lilinjianshu閱讀 2,082評論 0 2
  • iOS開發系列--網絡開發 概覽 大部分應用程序都或多或少會牽扯到網絡開發,例如說新浪微博、微信等,這些應用本身可...
    lichengjin閱讀 3,705評論 2 7
  • 在上周五上午十點半的時候,我提到短期由于CCI指標的嚴重超跌,所以短期跌勢應該告一段落,從空間上看,指數應該會繼續...
    愛上操盤手閱讀 152評論 0 0
  • 最近和朋友聊天,朋友感嘆:“上班,簡直就是精神和肉體的雙重摧殘,真想瞬間對著那個吹毛求疵的人立馬摔桌子不干”朋友說...
    詩豆米閱讀 272評論 0 0