iPhone编程 - 复杂的JSON解析 - UITableView
问题描述:
嘿家伙:)我很新的堆栈溢出和iPhone编程。我正在尝试解析复杂的JSON以在UITableView中显示一些内容。iPhone编程 - 复杂的JSON解析 - UITableView
的JSON结构的一部分 -
{"1":{"1":"Ent1","done":"No"},"2":{"1":"Ent2","done":"No"}}
我能够通过主键“1”来解析和“2”和能够抓住对应于按键“1”的值内{“1”:“Ent1”,“done”:“No”},{“1”:“Ent2”,“done”:“No”}将它们存储到字典/字符串中,代码如下:
for (NSString *key in dict)
{
NSString *answer = [dict objectForKey:@"1"];
NSLog(@"%@", answer);
}
结果是Ent1和Ent2,因为代码遍历for循环并检查键为“1”的对象。
问题是这样的 - 我想将两个值(Ent1和Ent2)存储到一个数组中。
我使用下面的代码:
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects: answer, nil];
,但它只是需要最后指数是ENT2字典。
你能告诉我怎样才能将两个键值1添加到数组中?
感谢提前:)
答
NSMutableArray *array = [[NSMutableArray alloc] init];
for (NSString *key in dict)
{
NSString *answer = [dict objectForKey:key];
[array addObject:answer];
}
答
为了增加jamapag的回答,您还可以使用Objective C的JSON库你喜欢SBJSON或YAJL该做的所有工作,甚至为部分更新版本的mac/iOS SDK,NSJSONSerialization。
+0
我使用JSONKit在ios上的JSON。 – morgancodes
NSString * answer = ...
@craig谢谢,修正。 – jamapag
@Jamapag现在,如果我NSLog这个数组里面的for循环,数组给我2值 - Ent1,Ent2 但是当我尝试NSLog它超出范围它只会给我最后一个指数值是Ent2。因此,如果我使用这个数组显示在我的tableview中,它只显示一个值。 有没有什么工作呢? 非常感谢你们,我非常感谢你们的帮助! – subodhbahl