Objective-C中关于请求返回NSData数据解析成NSDictionary或NSArray的方法
2016-05-23 11:59
465 查看
1、如果后台返回的是字典或数组的data型,直接使用以下方法转换:
2、以上方法打印出的字典、数组值为null 时,可能返回带有其他特殊字符串,需要将返回的data数据转成字符串:
打印出来的字符串如下图所示:
看着打印出来的字符串,开头不是以‘{’(字典)或‘(’(数组)符号开头,而是一串字符,所以我们需要把多余的字符串删除。
{ // Data 转成 字典 其中responseObject为返回的data数据 NSDictionary *resultDictionary = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil]; NSLog(@"resultDictionary: %@", resultDictionary); // Data 转成 数组 其中responseObject为返回的data数据 NSArray *resultArray = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil]; NSLog(@"resultArray: %@", resultArray); }
2、以上方法打印出的字典、数组值为null 时,可能返回带有其他特殊字符串,需要将返回的data数据转成字符串:
{ NSString *resultString =[[ NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]; }
打印出来的字符串如下图所示:
看着打印出来的字符串,开头不是以‘{’(字典)或‘(’(数组)符号开头,而是一串字符,所以我们需要把多余的字符串删除。
{ NSString *changeStr = [StringObjects stringByReplacingOccurrencesOfString:@"renderReverse&&renderReverse(" withString:@""]; NSString *jsonStr = [changeStr substringToIndex:tempStr.length-1]; }最后把解析string转data,再把data转 字典:
{ NSMutableDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:[jsonStr dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil]; }最后把字典输出查看是否还是空。
相关文章推荐
- Objective-C Runtime
- NSObject的load和initialize方法
- 实战分享:iOS高仿下厨房(Objective-C版)
- nmake chk一切正常 free会产生错误 error C2220: warning treated as error - no 'object' file generated
- delphi 中使用WaitForMultipleObjects等待线程执行,再执行后续代码
- Qt中QObject中的parent参数
- iOS开发中id、NSObject *、id、instancetype四者有什么区别?
- Error setting value Method "setAge" failed for object ..Ljava.lang.String 错误总结
- C++、Objective-C 混合编程
- flask添加权限的时候出现TypeError: ObjectId('') is not JSON
- object KVC\KVO 简介
- #object C runtime 简介
- Yii框架中属性概念及Object基类的分析
- Xcode之启动(打开)僵尸对象(Enable Zombie Objects)
- Java之面向对象Object类
- Foundation => Objective-C - NSDate & NSCalendar
- 【Android】Android ObjectAnimator动画初识、模仿
- IOS学习笔记——object-C基础 (二)
- Java IO - ObjectInputStream&ObjectOutputStream
- 使用Object-C实现23种设计模式之建造者模式