d3.json observablehq 的项目限制

Item limit on d3.json observablehq

我正在使用 Observable notebook,我正在尝试从 url 加载 json 数据,但是当我这样做时:

dataSet = d3.json("https://www.datos.gov.co/resource/cdhn-7vn8.json")

我得到一个只有 1000 个项目的数组,尽管原始源有超过 44000 行。我搜索了有关如何加载完整 json 的示例,但我没有找到任何内容。

很多时候,APIs 允许您在任何时候获得的记录数量有限制,在您的情况下是 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

将 return 前 1000 条记录。

https://www.datos.gov.co/resource/cdhn-7vn8.json?$offset=1000

将 return 下 1000 条记录,依此类推。

我推荐使用 Postman 来测试 APIs,这是一个很棒的工具。 https://www.getpostman.com/apps

布莱恩

没问题 - Bryan 介绍了此请求仅加载 1,000 个条目的原因以及如何从 API 请求另一页数据。这里是a notebook that loads the data page by page所以你可以得到所有的记录。