我使用了一个api,它提供了来自网络的数据。数据采用Json格式,存储在NSDictionary
中。像这样:
SBJSON *parser = [[SBJSON alloc] init];
dict = [[NSDictionary alloc]init];
dict = [parser objectWithString:jsonArray error:nil];
Ggb 控制台结果: po dict
1262 = {
"feed_name" = name1;
"new_results" = 6;
"next_update" = "2010-02-16T15:22:11+01:00";
};
1993 = {
"feed_name" = name2;
"new_results" = 0;
"next_update" = "2010-02-16T09:09:00+01:00";
};
如何访问值“1262”和“1993”并将它们放在NSArray
中,以便用于UITableView
非常感谢, 问候, 巴特
答案 0 :(得分:5)
首先,SBJSON的objectWithString:error:
方法将返回以下其中一个,具体取决于JSON消息中的根对象:
所以,除非你知道将在JSON中返回什么,否则你不应该总是假设它会返回一个字典。
其次,你要分配一个新的NSDictionary对象,然后将解析器的结果分配给你的dict变量,泄漏先前分配的字典。
您不需要这一行:dict = [[NSDictionary alloc]init];
。
最后,由于返回的对象是一个字典,你可以像这样从字典中获取对象:
for (NSString *key in [dict allKeys])
{
NSDictionary *feed = [dict objectForKey:key];
//do stuff with feed.
}
答案 1 :(得分:4)
return [dict allKeys];