如何解析表格视图上的 api 响应?
Posted
技术标签:
【中文标题】如何解析表格视图上的 api 响应?【英文标题】:How to parse api response on table view? 【发布时间】:2013-09-10 11:19:49 【问题描述】:我的 json 响应数据格式为:-
["0":"1","id":"1","1":"Pradeep","name":"Pradeep","2":null,"sender":null,"3":null,"
所以要解析表格视图上的“名称”?
我自己的实现是:-
我是ios开发新手,请帮帮我
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
NSDictionary *allDataDictionary=[NSJSONSerialization JSONObjectWithData:webData
options:0 error:nil]; // response saved in allDataDictionary
NSDictionary *feed=[allDataDictionary objectForKey:@"feed"]; // feeds entry
NSArray *feedforentry=[feed objectForKey:@"entry"];
for(NSDictionary *diction in feedforentry)
NSDictionary *title=[diction objectForKey:@"title"];
NSString *label=[title objectForKey:@"label"];
[array addObject:label];
[[self JustConfesstable]reloadData]; // reload table
【问题讨论】:
缺少部分 JSON... NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData 选项:kNilOptions 错误:&jsonError]; if ([jsonObject isKindOfClass:[NSArray class]]) arrResult = (NSArray *)jsonObject; Rinkal Rajoria 看看我的解决方案... 【参考方案1】:首先在 Dictionary 中获取数据,然后在 NSArray 中存储您想要的内容。使用 Keys
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingMutableContainers error: &error];
NSLog(@"%@",json);
NSLog(@"%@",delegate.firstArray);
NSArray * responseArr = json[@"Deviceinfo"];
NSArray * firstarray=[[NSArray alloc]init];
for(NSDictionary * dict in responseArr)
[firstarray addObject:[dict valueForKey:@"name"]];
第一个数组包含名称.. 你想要从那个 json 响应中得到什么。
然后将该数据传递给 tablview。你想在这里做什么,你会得到名称数据的数组。
【讨论】:
NSLog(@"%@",delegate.firstArray); NSArray * responseArr = json[@"Deviceinfo"];什么是委托和第一个数组?这会产生未声明标识符的错误 如果你有一个直接声明 Firstarray 的类数组,我会将该数组声明为 appdelegate。和 deviceinfo 是我的 nsdictionary 主键..【参考方案2】:您需要使用 JSON 解析器。我会推荐:https://github.com/johnezang/JSONKit
你可以这样做:
JSONDecoder *jsonKitDecoder = [JSONDecoder decoder];
NSError *error = nil;
id objectFromJson = [jsonKitDecoder objectWithData:data error:&error];
【讨论】:
有什么理由推荐 JSON 解析器而不是 JSONSerialization? 这只是一个建议...我发现它比 JSONSerialization 使用起来更方便,性能也更好。不明白你为什么投反对票。 @Puneet bonto.ch/blog/2011/12/08/… 链接很好。这就是我们需要的,一个解释。 @GrzegorzKrukowski 我投了反对票,因为您没有提供任何理由就推荐了一个外部库。 好的,明白了。对不起;)下次会做得更好以上是关于如何解析表格视图上的 api 响应?的主要内容,如果未能解决你的问题,请参考以下文章