首页 > 移动平台 > 详细

[iOS 多线程 & 网络 - 2.1] - 解析json

时间:2015-01-25 22:21:48      阅读:342      评论:0      收藏:0      [点我收藏+]
A.iOS中json的基本使用
1.解析json数据
(1)json反序列化
对象
{}
格式 {key : value, key : value,...} 的键值对的结构
可以反序列化为OC中的NSDictionary
数组
[]
格式 ["java","javascript","vb",...]
可以反序列化为OC中的NSArray

提示
JSON的数据格式与OC中的快速包装方法非常类似
JSON的数据格式同样支持嵌套
 
(2)json工具
从iOS 5开始,使用NSJSONSerialization对JSON解析

其他常见的三种JSON解析第三方库:
SBJson 因为API简单易用,可能还会有一些应用中留存
JSONKit JSONKit的开发者称:JSONKit的性能优于苹果
TouchJson
 
(3)序列化 & 反序列化
反序列化
[NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];

序列化
[NSJSONSerialization dataWithJSONObject:array options:0 error:NULL];
 
sample:
 1     // 同步发送信息
 2     NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
 3    
 4     // 解析数据
 5     if (data) { // 得到返回数据
 6         // 解除屏幕锁
 7         [MBProgressHUD hideHUD];
 8        
 9         // 解析json数据
10         NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
11        
12         // 处理返回的数据
13         NSString *result = dict[@"success"];
14         if (result) {
15             [MBProgressHUD showSuccess:result];
16         } else {
17             result = dict[@"error"];
18             if (result) {
19                 [MBProgressHUD showError:result];
20             }
21         }
22     } else {
23         [MBProgressHUD showError:@"网络繁忙,请稍后再试~"];
24     }

 

 
 
 
 

[iOS 多线程 & 网络 - 2.1] - 解析json

原文:http://www.cnblogs.com/hellovoidworld/p/4248844.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!