var url = 'http://opendata.brussels.be/api/records/1.0/search/?dataset=associations-clubs-sportifs';
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.onload = function() {
if (xhr.status === 200) {
// success
console.log(JSON.parse(xhr.responseText));
} else {
// error
console.log(JSON.parse(xhr.responseText));
}
};
xhr.send();
还有其他云服务可以让您将不同服务的API端点连接在一起,例如IFTTT和Zapier,但我不确定它们是否与开放数据连接。
你链接的页面显示API返回值为JSON对象。要访问数据,只需发送适当的HTTP请求,响应将是所请求的数据作为JSON。如果需要,您可以通过浏览器发送此类请求。
大多数编程语言允许以编程方式操作JSON对象,如果需要对数据进行处理,则可以使用该功能。
Restful API的发布模式是“请求和发布”。当您通过API端点请求数据时,您将收到JSON对象、CSV表格或XML格式的响应字符串。
在这种情况下,发布者Opendata.brussel.be会定期更新他们的数据库,并通过API端点发布结果。
如果您想将表格作为关系型数据表格下载到CSV文件中,则需要将JSON对象解析为关系型表格。这可能有些棘手,因为每个JSON响应字符串的路径都可能不同。
有几种方法可以做到这一点。您可以编写脚本来展开JSON对象,也可以使用工具来解析和展开对象。
我使用一个名为Acho的工具将API端点转换为CSV文件。它可以通过参数解析几乎所有API端点,甚至配置多个请求,例如迭代和递归请求。