JSON解析之NSJSONReadingOptions说明
来源:互联网 发布:控油祛痘的洗面奶知乎 编辑:程序博客网 时间:2024/05/17 07:56
在使用苹果自带的JSON解析时,我们往往搞不清楚该传哪一个参数,下面我一一介绍一下这些参数的含义// 1、直接填0 返回的对象是不可变的,NSDictionary或NSArray// 2、NSJSONReadingMutableLeaves 返回的JSON对象中字符串的值类型为NSMutableString// 3、NSJSONReadingMutableContainers 返回可变容器,NSMutableDictionary或NSMutableArray,返回的是数组字典嵌套的情况,每一层都是可变的// 4、NSJSONReadingAllowFragments 允许JSON字符串最外层既不是NSArray也不是NSDictionary,但必须是有效的JSON Fragment// 假设服务器返回的数据最外层是字典,可以直接填0,也可以设置为 NSJSONReadingAllowFragmentsNSDictionary *responseDic = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&error];// 如果是数组,直接改变接收对象的类型为数组NSArray *responseArr = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&error];
// 有时返回的数据可变,直接改变接收对象的类型行不行呢NSMutableDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:nil];// 答案是不行的,应用会崩溃,因为dict的类型由“=”后面的部分决定,依然是不可变字典,不存在【setObject: forKey:】方法[dict setObject:@"Jack" forKey:@"name"];// 解决办法NSMutableDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableContainers error:nil];// 使用NSJSONReadingMutableContainers,则返回的对象是可变的NSMutableDictionary[dict setObject:@"Jack" forKey:@"name"];
0 0
- JSON解析之NSJSONReadingOptions说明
- iOS 之NSJSONReadingOptions说明
- iOS 之NSJSONReadingOptions说明
- iOS 之NSJSONReadingOptions说明【转】
- iOS 之NSJSONReadingOptions说明【转】
- NSJSONReadingOptions解析
- NSJSONReadingOptions参数说明
- NSJSONReadingOptions
- iOS之NSJSONReadingOptions的三个选项
- JSON前台解析相关说明
- JSON之json-lib解析
- JSON解析之Json-lib
- iOS解析之Json解析
- json解析之gson解析
- JSON解析之原生解析
- JSON解析之手动解析
- 数据格式之解析Json
- android之Json解析
- 封装缓存
- MarkDown 语法笔记
- 判断奇偶 位运算
- RxJava学习笔记(二)--- 操作符
- -webkit-animation属性的一个误用
- JSON解析之NSJSONReadingOptions说明
- 网页复制添加复制信息
- DPM学习
- 战争
- scrollview显示到任意位置的定位
- Android Glide图片加载(加载监听、加载动画)
- linux解决xhost: unable to open display ""
- 自定义Seekbar拖动条样式
- ios 警告消除 directory not found for option