2013-03-07 49 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) 

请,如果您有另外一个我可以用其他方式做事。谢谢:)