第三篇
上一篇我们讲了如何通过NSURL类来获取数据,
这一章我们来讲下对于获取过来的数据如何解析.
好了直接进入正文吧.
正文:
上一篇讲了 我们获取过来的数据格式是JSON格式的
大家可以搜下对应JSON转换类就可以按照对应的内容进行数据转换了
我这边呢就提供一下我的转换方式
我目前搭建的项目用到的最多的就是UITableView
至于 怎么使用UITableView我之后会进行讲解的
我会在对应的.m文件中 定义 一个initListData方法.用来获取数据和解析数据 (还是直接贴代码吧)
-(void) initListData { GetWebInfo *getwebinfo=[GetWebInfo alloc]; NSString *myparameters=[[NSString alloc] initWithString:[NSString stringWithFormat:@"Method=getInfo&rows=4&page=%d",_page]]; getwebinfo.parameters=myparameters; NSString *webReturnMessage=[getwebinfo dogetWebInfo]; NSData* jsonData=[webReturnMessage dataUsingEncoding:NSUTF8StringEncoding]; NSArray *keys = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil]; allcount=[[keys valueForKey:@"total"] integerValue]; [self.list addObjectsFromArray:[keys valueForKey:@"rows"]]; }
首先 先定义一个上一篇 新建的GetWebInfo类
然后 组合参数...然后就是 调用 获取数据方法获取
然后讲String类型的数据encoding一下(现在看看突然感觉这一步貌似有点重复了..因为dogetwebinfo方法里貌似获取过来的就是NSData类型的了..)
然后是讲NSDATA类型的数据转换成NSArray类型的数据
然后我们就可以直接使用
[keys valueForKey:@"total"]
的方式 读取数据了
这边使用的时候大家可能会碰到 value 也是JSON数组的情况 .
那么就可以 [[keys valueForKey:@"xxx"] valueForKey:@"xx"]这样的方式
或者是下面这种方式
[[_list objectAtIndex:[indexPath row]] valueForKey:@"title"]
好了 是不是很简单啊? 好了 这 篇就讲这么多吧.
个人觉得看了这两章的话应该对网络数据获取以及传输应该就没有问题
下一篇会从如何构建一个登陆界面开始讲起 然后直至一步步完成一个简单的小项目.