解析未知JSON对象的属性

解析未知JSON对象的属性,json,mediawiki-api,Json,Mediawiki Api,我正在尝试使用MediaWiki API从Wikipedia获取文章 但是,返回的JSON数据包含pageid作为对象的标识符,但pageid是随机的 我的代码是这样的: $.getJSON("http://en.wikipedia.org/w/api.php?action=query&generator=random&grnnamespace=0&prop=extracts&exchars=50000&format=json&callback=?

我正在尝试使用MediaWiki API从Wikipedia获取文章

但是,返回的JSON数据包含pageid作为对象的标识符,但pageid是随机的

我的代码是这样的:

$.getJSON("http://en.wikipedia.org/w/api.php?action=query&generator=random&grnnamespace=0&prop=extracts&exchars=50000&format=json&callback=?", function (data) {
    console.log(data.query.pages);
});
返回的第一个页面的JSON如下所示:

37889571: Object
    extract: "<p></p>↵<p></p>↵<p><b>Frank A Delaney IV</b>, Born Feb 4, 1963, Denville New Jersey.</p>↵<p>Mr Delaney is the son of Frank A Delaney III, ..."
    ns: 0
    pageid: 37889571
    title: "Frank A Delaney IV"

我可以通过以下方式访问酒店:

for(var id in data.query.pages) {
  console.log(data.query.pages[id]);
}

但是我不确定这是否是最好的/唯一的方法。

您现在可以在请求中添加
&indexpageid
,您将获得
页面ID

例如:

当我阅读您的JSON(相当糟糕)格式时,您有一个包含更多JSON对象的JSON对象。其中一个包含的对象名为37889571。该对象又包含一个名为“extract”的字符串。您始终可以遍历外部对象中的所有条目,并获取所有“提取”字符串。但是很明显,要想得到一个特定的JSON,你需要知道它的“名称”或其他标识符。@HotLicks谢谢你的编辑一个新的网站需要回答每天出现的几十个几乎相同的JSON问题:jsonoverflow.comRelated:问的基本上是相同的问题,但是对于Python。这是我推荐自己的方式。也就是说,如果出于某种原因您不想使用for..in循环,您也可以让MediaWiki在响应的单独部分中使用for..in循环。
for(var id in data.query.pages) {
  console.log(data.query.pages[id]);
}