2013-08-23 153 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