本文主要是介绍IOS学习之解析数据(NSJSONSerialization),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
上一篇讲了 我们获取过来的数据格式是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 = [NSJSONSerializationJSONObjectWithData:jsonDataoptions:NSJSONReadingMutableContainerserror: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"]
这篇关于IOS学习之解析数据(NSJSONSerialization)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!