我似乎无法弄清楚如何从TouchJSON返回的字典中获取表示对象的Dictionary。
例如:
如果我使用以下格式的JSON:
http://search.twitter.com/search.json?q=hello
如何使用“for”声明获取带有“id”= x的推文,而不必使用“for”语句将所有推文拉入数组?
e.g。不必这样做...因为我知道我想要访问的对象的“id”(JSON键,而不是索引)
NSArray *tweetsArray = [resultsDictionary objectForKey:@"results"];
for (NSDictionary *tweetDictionary in tweetsArray) {
NSString *tweetText = [tweetDictionary objectForKey:@"text"];
[tweets addObject:tweetText];
}
答案 0 :(得分:1)
您可以使用NSPredicate过滤tweetsArray,如下所示:
NSArray *tweetsArray = [resultsDictionary objectForKey:@"results"];
NSArray* filtered = [test filteredArrayUsingPredicate:
[NSPredicate predicateWithFormat:@"id = %@",@"456"]];
NSDictionary* tweet = [filtered lastObject];
答案 1 :(得分:0)
为什么在解析JSON时不过滤id = x条件。这将确保您只遍历一次JSON数据。
如果您只需要为id = x条件访问JSON,那么这只是一个更好的解决方案。