Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 连接JSON API进行解析_Javascript_Json_Api - Fatal编程技术网

Javascript 连接JSON API进行解析

Javascript 连接JSON API进行解析,javascript,json,api,Javascript,Json,Api,我希望解析下面的页面并提取名称的每个实例 我一直遵循此指南以供参考:但是当它运行时,没有返回任何内容。我做错了什么 var request = new XMLHttpRequest(); request.open('GET', 'api.openparliament.ca/politicians/?format=json', true); request.onload = function () { // Begin accessing JSON data here var data

我希望解析下面的页面并提取名称的每个实例

我一直遵循此指南以供参考:但是当它运行时,没有返回任何内容。我做错了什么

var request = new XMLHttpRequest();

request.open('GET', 'api.openparliament.ca/politicians/?format=json', true);
request.onload = function () {

  // Begin accessing JSON data here
  var data = JSON.parse(this.response);
  if (request.status >= 200 && request.status < 400) {
    data.forEach(politicians => {
      console.log(politicians.name);
    });
  } else {
    console.log('error');
  }
}

request.send();

欢迎肖恩来到StackOverflow

首先,代码中有一些问题

在这一行的URL中添加http://request.open'GET','http://api.openparliament.ca/politicians/?format=json”“是的;。 你需要等待完成。在代码中,可以通过以下方式检查readyState属性: 检查XMLHttpRequest是否返回了200状态代码。您可以这样做: 然后,使用前面的代码,您可以执行以下操作:

var data = JSON.parse(this.response);
data.objects.forEach(politician => {
  console.log(politician.name);
});
其中数据是一个对象,它有两个属性:对象和分页,其中对象是一个对象数组,分页是一个对象

然后你可以做:

var data = JSON.parse(this.response);
data.objects.forEach(politician => {
  console.log(politician.name);
});
以下是完整的演示:

作用{ var请求=新的XMLHttpRequest; 请求。打开'GET','http://api.openparliament.ca/politicians/?format=json",对,; request.onreadystatechange=函数{ 如果request.readyState==4{ 如果request.status==200{ var data=JSON.parsethis.response; data.objects.foreachPolitical=>{ console.logpolitical.name; }; }否则{ console.log'error'; } } } 请求发送;
};嗨,丹尼,很抱歉延迟回复,因为我不知道如何评论。我非常感谢你花时间向我解释这个过程。