从 TouchJSON 的 NSDictionary 反序列化对象?

发布于 2024-09-09 02:20:07 字数 581 浏览 2 评论 0原文

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

例如:

如果我使用以下格式的 JSON:

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

如何获取带有“id”= x 的推文,而不必使用“for”语句将所有推文拉入数组中?

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

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

 }

I can't seem to work out how to get a Dictionary representing an object from the dictionary that TouchJSON returns.

For example:

If I use the JSON in the format here:

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

How would I get a tweet with the "id" = x without having to pull all of the tweets into an array using a "for" statement?

e.g. without having to do this... since I know the "id" (JSON key, rather than index) of the object I want to access

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

 }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

素食主义者 2024-09-16 02:20:07

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

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

NSDictionary* tweet = [filtered lastObject];

You can use NSPredicate to filter the tweetsArray like this:

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

NSDictionary* tweet = [filtered lastObject];
陌伤ぢ 2024-09-16 02:20:07

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

如果您必须仅针对 id=x 条件访问 JSON,那么这只能是更好的解决方案。

Why don't you filter the id=x condition when you are parsing the JSON. This will make sure you traverse the JSON data only once.

This can only be a better solution if you have to access the JSON just for the id=x condition.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文