0

我似乎无法弄清楚如何从 TouchJSON 返回的字典中获取表示对象的字典。

例如:

如果我在这里使用格式的 JSON:

http://search.twitter.com/search.json?q=hello

如何在不必使用“for”语句将所有推文拉入数组的情况下获得带有“id”= x 的推文?

例如,不必这样做......因为我知道我想要访问的对象的“id”(JSON 键,而不是索引)

NSArray *tweetsArray = [resultsDictionary objectForKey:@"results"];
 for (NSDictionary *tweetDictionary in tweetsArray) {
     NSString *tweetText = [tweetDictionary objectForKey:@"text"];
     [tweets addObject:tweetText];

 }
4

2 回答 2

1

您可以使用 NSPredicate 来过滤 tweetsArray,如下所示:

NSArray *tweetsArray = [resultsDictionary objectForKey:@"results"];
NSArray* filtered = [test filteredArrayUsingPredicate:
                          [NSPredicate predicateWithFormat:@"id = %@",@"456"]];

NSDictionary* tweet = [filtered lastObject];
于 2010-07-12T08:16:48.137 回答
0

为什么在解析 JSON 时不过滤 id=x 条件。这将确保您只遍历 JSON 数据一次。

如果您必须仅为 id=x 条件访问 JSON,这只能是一个更好的解决方案。

于 2010-07-17T18:49:33.650 回答