2013-04-30 31 views
0

Somewhat related stack overflow question about loading json without http request in D3使用D3可縮放的樹圖碼爲模板

我剛開始學習JavaScript,但我也許雄心勃勃以爲我可以把代碼從這個very cool zoomable treemap by Mike Bostock,硬編碼的文件中我自己的JSON,而不是使用d3.json,並且很容易讓樹形圖反映我的新數據。作爲一種慣例,我使用上面引用的堆棧溢出問題推薦的方法插入了我知道應該正確格式化的試用json。代碼的替換部分看起來是這樣的:

var root = {"name": "flare","children": [{"name": "analytics","children": [{"name": "cluster","children": [{"name": "MergeEdge", "size": 10 }]}]}]}; 

function(root) { 

initialize(root); 
accumulate(root); 
layout(root); 
display(root); 

它最初看上去像這樣,與在腳本的最後一個右括號,我已刪除了:

d3.json("flare.json", function(root) { 

    initialize(root); 
    accumulate(root); 
    layout(root); 
    display(root); 

但是當我打開在我的瀏覽器中的HTML文件,我只是得到一個空的灰色框而不是樹形圖。我意識到自己正在犯一些非常基本的錯誤,我甚至無法弄清楚它是什麼。我的'模板'方法是否註定要到我學習更多關於d3/javascript的內容,還是有一個簡單的解決方案?

回答

0

這可能不是您問題的完整解決方案,但至少您需要使用JSON.parse(JSON_STRING_HERE)而不是直接使用字符串。

+0

謝謝,我結束了使用d3.json()方法(不知道爲什麼我不想用它開始),但我將在未來保留json.parse()。 – alex 2013-05-09 12:14:42