javascript - 无法使用 d3.js 在 html 中加载 json 文件

标签 javascript html json d3.js bubble-chart

我想从 HTML 文件中的 json 文件加载数据,并使用 D3 将其可视化。如果文件是自己加载的,我可以在浏览器中查看数据。该文件也已正确接收并通过 200 状态验证。但是文件的内容被解释为空。

这里是json文件的内容-

[{"totdistance":[[1987,20926761],[1988,81974990],[1989,93470285],[1990,116938068],[1991,128179520],[1992,123889922],[1993,113169123 ],[1994,119145135],[1995,132070386],[1996,145689003],[1997,158173093],[1998,164900616],[1999,180094162],[2000,191005263],[2001,18 6583998], [2002,185726579],[2003,189239126],[2004,203622782],[2005,200373825]],"路线":[[1987,45399],[1988,180871],[1989,195588],[1990 ,216314],[1991,219896],[1992,199066],[1993,176756],[1994,177851],[1995,194508],[1996,203001],[1997,206304],[1998,203071] ],[1999,209496],[2000,219160],[2001,209979],[2002,196111],[2003,189519],[2004,195939],[2005,197853]],"代码":"HP","name":"HP","avgdelay":[[1987,16],[1988,8],[1989,11],[1990,12],[1991,12],[1992,7 ],[1993,11],[1994,15],[1995,17],[1996,23],[1997,17],[1998,29],[1999,25],[2000,28], [2001,18],[2002,9],[2003,13],[2004,25],[2005,18]]}]

这是尝试加载文件并读取其内容的代码 -

d3.json("flights.json", 函数(航类) {

但我在控制台上收到错误消息,提示 flights 为空。

我曾尝试在使用 IE、Firefox 和 Chrome 的网络服务器上运行此代码。但没有解决方案。

我以此为起点 - https://github.com/mbostock/bost.ocks.org/blob/gh-pages/mike/nations/index.html

这是错误 - 未捕获的 TypeError:无法调用 null 的方法“map”

json 根据 http://jsonlint.com/ 有效

感谢您帮助解决此问题。

最佳答案

根据 this , d3.json 的正确语法是

d3.json('URL', function(error, json) {

所以看起来您可能正在尝试访问错误参数,如果没有错误,该参数可能为空。

关于javascript - 无法使用 d3.js 在 html 中加载 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18392627/

相关文章:

javascript - 捕获对数组中具有 ID 的元素的点击

javascript - 在 div 和 textfield 之间切换时触发事件

javascript - 如何使用 Javascript 删除查询字符串中的 URL 编码

ruby-on-rails - 渲染 json 中的哈希火箭与冒号 :

python - 无法打印 Stocktits 词典的键

javascript - Jade 模板 : loop in attributes?

javascript - 根据最旧到最新的日期将对象插入数组

html - 如何从 100% 宽度的 div 中提取 230px?

css - 如何水平居中具有动态宽度的 3 个 div 元素,第一左,第二居中,第三右?

javascript - MVC3 - 将 Json 模型传递给 Controller ​​(字典)