iOS 之NSJSONReadingOptions说明【转】
2016-01-08 16:32
483 查看
首先用代码来说明NSJSONReadingMutableContainers的作用:
1 NSString *str = @”{\”name\”:\”kaixuan_166\”}”;
2
3 NSMutableDictionary *dict = [NSJSONSerialization JSONObjectWithData:[str dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];
4 // 应用崩溃,不选用NSJSONReadingOptions,则返回的对象是不可变的,NSDictionary
5 [dict setObject:@”male” forKey:@”sex”];
6
7 NSMutableDictionary *dict = [NSJSONSerialization JSONObjectWithData:[str dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:nil];
8 // 没问题,使用NSJSONReadingMutableContainers,则返回的对象是可变的,NSMutableDictionary
9 [dict setObject:@”male” forKey:@”sex”];
10
11 NSLog(@”%@”, dict);
NSJSONReadingMutableContainers:返回可变容器,NSMutableDictionary或NSMutableArray。
NSJSONReadingMutableLeaves:返回的JSON对象中字符串的值为NSMutableString,目前在iOS 7上测试不好用,应该是个bug,参见:
http://stackoverflow.com/questions/19345864/nsjsonreadingmutableleaves-option-is-not-working
NSJSONReadingAllowFragments:允许JSON字符串最外层既不是NSArray也不是NSDictionary,但必须是有效的JSON Fragment。例如使用这个选项可以解析 @“123” 这样的字符串。参见:
http://stackoverflow.com/questions/16961025/nsjsonserialization-nsjsonreadingallowfragments-reading
转自:http://www.cocoachina.com/bbs/read.php?tid=110907#959188
1 NSString *str = @”{\”name\”:\”kaixuan_166\”}”;
2
3 NSMutableDictionary *dict = [NSJSONSerialization JSONObjectWithData:[str dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];
4 // 应用崩溃,不选用NSJSONReadingOptions,则返回的对象是不可变的,NSDictionary
5 [dict setObject:@”male” forKey:@”sex”];
6
7 NSMutableDictionary *dict = [NSJSONSerialization JSONObjectWithData:[str dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:nil];
8 // 没问题,使用NSJSONReadingMutableContainers,则返回的对象是可变的,NSMutableDictionary
9 [dict setObject:@”male” forKey:@”sex”];
10
11 NSLog(@”%@”, dict);
NSJSONReadingMutableContainers:返回可变容器,NSMutableDictionary或NSMutableArray。
NSJSONReadingMutableLeaves:返回的JSON对象中字符串的值为NSMutableString,目前在iOS 7上测试不好用,应该是个bug,参见:
http://stackoverflow.com/questions/19345864/nsjsonreadingmutableleaves-option-is-not-working
NSJSONReadingAllowFragments:允许JSON字符串最外层既不是NSArray也不是NSDictionary,但必须是有效的JSON Fragment。例如使用这个选项可以解析 @“123” 这样的字符串。参见:
http://stackoverflow.com/questions/16961025/nsjsonserialization-nsjsonreadingallowfragments-reading
转自:http://www.cocoachina.com/bbs/read.php?tid=110907#959188
相关文章推荐
- 64位centos6.5安装mysql-5.6.25问题解决
- Ubuntu、CentOS、debian下Zabbix agent自动安装脚本
- 如何在select中option添加复选框
- maven 打包时动态替换properties,xml资源文件中的配置值
- Docker:私有仓库的搭建
- Linux下更改Mysql数据库密码
- InvalidOperationException、线程间操作无效: 从不是创建控件“”的线程访问它
- Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
- tomcat设置URIEncoding
- Web应用程序开发查询网站
- 一篇通俗易懂的讲解OpenGL ES的文章
- 总结:c 语言与Linux操作系统的关系
- linux上nfs配置
- Windows下Nginx的安装与使用(一):配置端口转发
- 怎样停止一个 starting 和 stoping 的服务
- python linux安装python2.7.11
- 配置linux服务器的CATALINA_OPTS参数
- 坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查)
- CentOS 设置 svn 提交后自动自动更新到 web 目录
- OpenStack neutron-openvswitch-agent 启动分析