第三篇
上一篇我們講了如何通過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"]
好了 是不是很簡單啊? 好了 這 篇就講這么多吧.
個人覺得看了這兩章的話應該對網絡數據獲取以及傳輸應該就沒有問題
下一篇會從如何構建一個登陸界面開始講起 然后直至一步步完成一個簡單的小項目.