从 TouchJSON 的 NSDictionary 反序列化对象?
我似乎无法弄清楚如何从 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 NSPredicate 来过滤 tweetsArray,如下所示:
You can use NSPredicate to filter the tweetsArray like this:
为什么不在解析 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.