• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Objective-C中关于请求返回NSData数据解析成NSDictionary或NSArray的方法 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、如果后台返回的是字典或数组的data型,直接使用以下方法转换:

 

 
  1. {  
  2. // Data 转成 字典 其中responseObject为返回的data数据  
  3.         NSDictionary *resultDictionary = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];  
  4.         NSLog(@"resultDictionary: %@", resultDictionary);  
  5.           
  6.         // Data 转成 数组 其中responseObject为返回的data数据  
  7.         NSArray *resultArray = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];  
  8.         NSLog(@"resultArray: %@", resultArray);  
  9. }  

 

2、以上方法打印出的字典、数组值为null 时,可能返回带有其他特殊字符串,需要将返回的data数据转成字符串:

 
  1. {  
  2. NSString *resultString  =[[ NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];  
  3. }  

 

打印出来的字符串如下图所示:

看着打印出来的字符串,开头不是以‘{’(字典)或‘(’(数组)符号开头,而是一串字符,所以我们需要把多余的字符串删除。

 
  1. {  
  2. NSString *changeStr = [StringObjects stringByReplacingOccurrencesOfString:@"renderReverse&&renderReverse(" withString:@""];  
  3.         NSString *jsonStr = [changeStr substringToIndex:tempStr.length-1];  
  4. }  

最后把解析string转data,再把data转 字典:

 
  1. {  
  2. NSMutableDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:[jsonStr dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];  
  3. }  

最后把字典输出查看是否还是空。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
QtforiOS,Qt与ObjectiveC混合编程发布时间:2022-07-18
下一篇:
[转]iPhone/MacObjective-C内存管理教程和原理剖析(一)基本原理发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap