我如何检索"提取"来自维基百科api的字段?

时间:2014-10-26 00:20:56

标签: ios objective-c json mediawiki wikipedia

这是我在Objective C中解析它的链接: http://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exsentences=2&exintro=&titles=USA

如果你清楚地看到“#34; USA"实际上将根据用户请求进行更改。在页面后的JSON信息键中,您实际上可以在pageid之前看到一个数字。我该如何访问它?如果该字段是静态的,我可以使用该特定键访问。但根据用户搜索,似乎该数字是动态的。我的目标是访问"提取"键。如果我想这样做,我必须进入那个动态的数字。我感谢任何帮助。提前谢谢。

2 个答案:

答案 0 :(得分:0)

在"页面"你得到一个字典,其中的键与ids(只是字符串)相同。看来你的问题围绕着事先你不知道这些键的事实。

提取pages字典后,您可以像这样遍历密钥:

for (NSString *idString in pages.allKeys) {
   NSDictionary *content = pages[idString];
   NSString *extract = content["extract"];
   // do something with extract
}

如果您只想要任意密钥,或者您确定只有一个密钥,则可以使用

创建内容字典
NSDictionary *content = pages[pages.allKeys.firstObject];

答案 1 :(得分:0)

一个表达与Mundi的答案相同:

NSString *extract = 
     [[[array valueForKeyPath:@"query.pages"] allObjects].firstObject 
         valueForKey:@"extract"];