2013-03-07 68 views
1

我最近決定使用嵌套的JSON,但是,我不能訪問它們。我已經看到了使用數據方法返回數據的不同方式的一些示例。例如:處理嵌套的JSON數據到數據連接

var node = svg.selectAll("g.node") 
.data(nodes, function(d) {return d.world;}) 

    var node = svg.selectAll("g.node") 
.data(nodes) 

但是,這沒有影響。因此我也試過:

.text(function(d) { return d.world.Name; }) 

但我還沒有運氣!

這裏的嵌套JSON的一個片段:

  var nodes = {"Galaxy":"Milkyway","life":true,"world": [ 
     {"Name": 'Amy', "Country": 'USA', "translate":"translate(190,83)" }, 
     {"Name": 'Nathan', "Country": 'USA', "type": 'square', "translate": "translate(190,83)"}, 
     {"Name": 'Lewis', "Country": 'USA', "type": 'circle', "translate": "translate(20,183)" }, 
     {"Name": 'Tom', "Country": 'Japan', "type": 'diamond', "translate": "translate(-300,-200)"}, 
     {"Name": 'Matt', "Country": 'Russia', "type": 'cross', "translate": "translate(10,183)"}, 
     {"Name": 'Frank', "Country": 'France', "type": 'triangle-up', "translate": "translate(30,183)"}, 
     {"Name": 'Bob', "Country": 'Japan', "type": 'diamond', "translate": "translate(10,13)"} 
]}; 

在此先感謝

+0

您在第一個實例中使用的'.data'函數的形式是用於通過爲每個數據項分配['keys']來用於對象一致性(https://github.com/mbostock/ D3 /維基/選擇#維基數據)。 '.data'不遵循相同的訪問模式爲'd3.max','d3.mean'等 – 2013-03-07 14:10:55

+0

您好,感謝的答覆。你有可能向我展示一個例子嗎? – Jose 2013-03-07 15:51:46

+0

從mbostock自己將是有益的這個例子來了解_key_功能是如何工作的:http://bost.ocks.org/mike/constancy/ – 2013-03-07 20:37:31

回答

1

我相信我已經找到了一個合適的解決我的問題:

var node = svg.selectAll("g.node") 
       .data(nodes.world) 

請,如果您有另外一個我可以用其他方式做事。謝謝:)