iOS多线程与网络开发之解析json数据

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意。重在心意^_^ 

我要捐赠: 点击捐赠

Cocos2d-X源代码下载:点我传送

游戏官方下载:技术分享技术分享http://dwz.cn/RwTjl

游戏视频预览:技术分享http://dwz.cn/RzHHd

游戏开发博客:技术分享http://dwz.cn/RzJzI

游戏源代码传送技术分享http://dwz.cn/Nret1

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     }


郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

假设文章对您有所帮助。欢迎给作者捐赠,支持郝萌主,捐赠数额任意。重在心意^_^ 

我要捐赠: 点击捐赠

Cocos2d-X源代码下载:点我传送

游戏官方下载:技术分享技术分享http://dwz.cn/RwTjl

游戏视频预览:技术分享http://dwz.cn/RzHHd

游戏开发博客:技术分享http://dwz.cn/RzJzI

游戏源代码传送技术分享http://dwz.cn/Nret1