我正在使用 Observable 笔记本,我正在尝试从 url 加载 json 数据,但是当我这样做时:
dataSet = d3.json("https://www.datos.gov.co/resource/cdhn-7vn8.json")
我得到了一个只有 1000 个项目的数组,尽管原始源有超过 44000 行。我已经搜索了有关如何加载完整 json 的示例,但我没有找到任何东西。
我正在使用 Observable 笔记本,我正在尝试从 url 加载 json 数据,但是当我这样做时:
dataSet = d3.json("https://www.datos.gov.co/resource/cdhn-7vn8.json")
我得到了一个只有 1000 个项目的数组,尽管原始源有超过 44000 行。我已经搜索了有关如何加载完整 json 的示例,但我没有找到任何东西。
很多时候,使用 API 时,您可以在任何时候获得的记录数量是有限制的,在您的情况下是 1000。我快速查找了一些信息并找到了一个视频。它是西班牙语的,我听不懂,但看起来它会给你你需要的答案。具体来说,在视频中的 4 分钟 30 处,您似乎可以指定偏移量。
https://herramientas.datos.gov.co/es/content/desarrollar-usando-los-datos
因此,在您的代码中,您需要循环访问 44000 行,一次 1000 行,以不断增加的偏移量 1000、2000、3000 ... 访问 API,直到您拥有所需的所有数据。
[更新] 我现在有机会对此进行测试,并且可以确认偏移参数的使用。
https://www.datos.gov.co/resource/cdhn-7vn8.json
或者
https://www.datos.gov.co/resource/cdhn-7vn8.json?$offset=0
将返回前 1000 条记录。
https://www.datos.gov.co/resource/cdhn-7vn8.json?$offset=1000
将返回接下来的 1000 条记录,依此类推。
我推荐使用 Postman 来测试 API,它是一个很棒的工具。 https://www.getpostman.com/apps
布莱恩
肯定的 - Bryan 介绍了此请求仅加载 1,000 个条目的原因以及如何从 API 请求另一页数据。这是一个逐页加载数据的笔记本,因此您可以获取所有记录。