IOS学习之解析数据(NSJSONSerialization)

来源:互联网 发布:软件系统安全架构 编辑:程序博客网 时间:2024/06/10 15:17

上一篇讲了 我们获取过来的数据格式是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"]

0 0
原创粉丝点击