从Wikipedia api获取Fetch blob的响应数据

时间:2017-12-22 17:34:02

标签: javascript fetch wikipedia-api

我试图使用维基百科的api和fetch。

const endpoint = 'https://en.wikipedia.org/w/api.php?
action=query&format=json&origin=*&titles=Albert%20Einstein'

 fetch(endpoint)
          .then(blob => blob.json())
          .then(data => console.log(data))

RETURNS

enter image description here

由于736,我不确定如何深入研究这个问题。我假设那里什么都没有?这些结果意味着什么?

我做了这些循环,看看他们是否允许我点击控制台无法获得的东西。它与上面的提取调用相同,因此不太有用。只是想表明我至少尝试了一些东西(downvote control)。

fetch(endpoint)
    .then(blob => blob.json())
    .then((data) => {
    for(var i in data){
     //returns batch complete ,
      //& query
      for(var j in data.query){ 
         //returns pages
        for(var k in data.query.pages){
        //returns the string 736
        }
      }
  }
  })

只需单击上面的控制台结果。

1 个答案:

答案 0 :(得分:2)

使用formatversion=2获得更舒适的格式(其中data.query.pages是数组)。

或者,您可以使用类似

的内容迭代对象
var pages = data.query.pages;
for (pageId in pages) {
    if (pages.hasOwnProperty(pageId)) {
        console.log(pages[pageId]);
    }
}

在现代浏览器中,您还可以使用Object.values()来获取数组中对象的属性。