iOS之自带的JSON解决方案NSJSONSerialization
来源:互联网 发布:热敏打印软件 编辑:程序博客网 时间:2024/06/07 23:58
转载自:http://blog.csdn.net/xyz_lmn/article/details/8968187
在之前的《iOS学习——xml数据解析(九)》介绍了xml数据解析,这一篇简单介绍一下Json数据解析。JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与客户端的交互,Json语法参考。关于在iOS平台上进行JSON解析,已经有很多第三方的开源项目,比如TouchJson,JSONKit,SBJon等,自从iOS5.0以后,苹果SDK推出了自带的JSON解决方案NSJSONSerialization,这是一个非常好用的JSON生成和解析工具,效率也是比其他第三方开源项目的高很多,详情可看下图。
图片详情可查看
NSJSONSerialization提供了Json数据封包、Json数据解析,NSJSONSerialization将JSON数据转换为NSDictionary或NSArray解包方法,将NSDictionary、NSArray对象转换为JSON数据(可以通过调用isValidJSONObject来判断NSDictionary、NSArray对象是否可以转换为JSON数 据)封包。这一篇将做简单介绍。
Json数据封包
- NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2",@"value3",@"key3", nil];
- // isValidJSONObject判断对象是否可以构建成json对象
- if ([NSJSONSerialization isValidJSONObject:dic]){
- NSError *error;
- // 创造一个json从Data, NSJSONWritingPrettyPrinted指定的JSON数据产的空白,使输出更具可读性。
- NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&error];
- NSString *json =[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
- NSLog(@"json data:%@",json);
- }
Json数据解析
- NSError *error;
- //加载一个NSURL对象
- NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://m.weather.com.cn/data/101120101.html"]];
- //将请求的url数据放到NSData对象中
- NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
- //IOS5自带解析类NSJSONSerialization从response中解析出数据放到字典中
- NSDictionary *weatherDic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];
- NSDictionary *weatherInfo = [weatherDic objectForKey:@"weatherinfo"];
- NSString *text = [NSString stringWithFormat:@"今天是 %@ %@ %@ 的天气状况是:%@ %@ ",[weatherInfo objectForKey:@"date_y"],[weatherInfo objectForKey:@"week"],[weatherInfo objectForKey:@"city"], [weatherInfo objectForKey:@"weather1"], [weatherInfo objectForKey:@"temp1"]];
- NSLog(@"weatherInfo:%@", text );
0 0
- iOS之自带的JSON解决方案NSJSONSerialization
- NSJSONSerialization iOS自带解析json
- 苹果自带的json解析NSJSONSerialization(序列化)
- ios进行restful接口调用和json数据利用自带NSJSONSerialization进行数据解析
- 建立网络连接的基本步骤及NSJSONSerialization(苹果自带)——JSON解析
- iOS5自带解析类NSJSONSerialization解析json
- iOS之NSJSONSerialization对json解析
- IOS JSON解析 NSJSONSerialization
- JSON解析之NSJSONSerialization
- xcode自带的NSJSONSerialization解析中文就会失败
- xcode自带的NSJSONSerialization解析中文就会失败
- IOS自带json解析之生成json对象
- iOS开发 JSON解析 NSJSONSerialization
- 数据解析(三)解析JSON-----系统自带NSJSONSerialization 与 第三方JSONKit
- iOS --- 使用NSJSONSerialization来解析JSON格式的数据
- ios中使用 NSJSONSerialization对 json数据的解析
- iOS 自带的解析json的类
- ios自带的json对请求数据进行解析
- 水仙花数(20)
- TTTTTCCCCCPPPPP MARK 连包
- Spring 的 IOC原理
- Codeforces 4C Registration system MAP和hash的简单应用
- 如何处理点击窗口后窗口缓慢展开或者缩小?
- iOS之自带的JSON解决方案NSJSONSerialization
- 算法导论第15章 动态规划-总结
- matlab画图,在图中标出字母
- xcode功能学习
- FastJSON 原理剖析 以及 和 Jackson的对比 who is the most fast!
- 【翻译原创】(一)MonkeyTalk 工具简介
- java--数据结构特性
- 线段树区间更新——UVA 11992
- JAVA学习笔记10——static+this