2
这里有两个例子查询我试图(在我的应用程序使用JSON的输出数据,而这有助于格式化):查询维基百科网页API
强制失败:Gibberish
运行这个确实会拉回数据,我知道我正在寻找的区域是在jObject [“query”] [“pages”]中。所以我注意到,失败时,页面名称/属性/无论是“-1”和查询有效的东西给你一个唯一的ID为该主题。
这是我目前拥有的代码:
JObject excerpt = JObject.Parse(reader.ReadToEnd());
if ((string) excerpt["query"]["pages"] == "-1")
return null;
result.Excerpt = (string)excerpt["query"]["pages"]["extract"];
失败的,如果检查,我确信它最终会失败的摘录一个为好。
如何检查“页面”中的项目以查看它是否被称为“-1”?
如何在事先不知道页面的pageid的情况下进入成功查询的项目?
你应该在遍历所有查询返回的页面;可能会有几个,如[本示例中的查询](http://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro=1&exlimit=max&titles=Wikipedia|Stack+Overflow|ghjgjhvm|jhmvjhmv&format=jsonfm )。 –
顺便说一句,你可能不需要使用流,看看['WebClient.DownloadString()'](http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadstring )。 – svick