2013-08-23 59 views
1

我想要从HTML文件中的json文件加载数据并使用D3来将其可视化。如果文件自己加载,我可以在浏览器中查看数据。该文件也会被200状态正确验证。但该文件的内容被解释为空。无法使用d3.js加载html中的json文件

以下是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,186583998],[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”, “名称”: “HP”, “avgdelay”:[[1987,16],[1988,8],[1989,11],[1990年,12],[1991,12],[1992,7],[1993,1 1],[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”,功能(航班){

但我在控制台上得到航班为空的错误。

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

我用这作为一个起点 - https://github.com/mbostock/bost.ocks.org/blob/gh-pages/mike/nations/index.html

以下是错误 - 遗漏的类型错误:无法调用空的“地图”

的JSON是按有效http://jsonlint.com/

感谢您解决此问题的任何帮助。

+0

代码片段很少帮助,你需要发布有意义的代码示例或提琴手链接,所以我们可以帮助 –

+0

我能够加载它就好了。你能发布你的完整代码吗? – Isaac

+0

如果你可以发布一个链接到实际的json文件...如果你从复制粘贴json传递json lint,那么文件或文本编辑器上的编码可能会在文件,导致解析错误。 –

回答

1

我已经切换到2.8版,它工作正常。我注意到的一件事是,我将一个变量称为avgdelay,这是一个问题。一旦我将变量重命名为另一个,d3就没有问题。我认为这有点奇怪。但截至目前,它已经解决了我所面临的问题。我正在结束这个问题。

1

根据thisd3.json正确的语法是

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

所以会出现你可能试图访问错误的说法,这如果没有错误,可能是零。

+0

使用v3进行尝试后,我现在试着用v2来查看是否有所作为。看来json有一些问题,我无法弄清楚。我在Chrome中收到错误 - 未捕获的SyntaxError:Unexpected token',并且在Firefox中出现错误 - [13:19:11.701] SyntaxError:JSON.parse:预期的属性名称或'}'@ http://d3js.org /d3.v2.js?2.8.1:2950。 – Sumod

+0

这里是json文件 - 这里是我的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,186583998],[2002,185726579],[2003,189239126],[2004,203622782],[2005,200373825]], – Sumod

+0

json文件继续(限制字符数) - “路由” :[[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”, “名称”: “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 ]]}] – Sumod