Javascript 将嵌套json数据处理为数据联接

Javascript 将嵌套json数据处理为数据联接,javascript,json,d3.js,Javascript,Json,D3.js,我最近决定使用嵌套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.Nam

我最近决定使用嵌套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)"}
]}; 

提前感谢

我相信我已经找到了解决问题的合适方法:

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

求你了,如果你还有别的方法,我愿意用其他的方法做事。谢谢:)

我相信我已经找到了解决问题的合适方法:

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

求你了,如果你还有别的方法,我愿意用其他的方法做事。谢谢:)

您在第一个实例中使用的
.data
函数的形式旨在通过赋值来实现对象一致性
.data
d3.max
d3.mean
等不遵循相同的访问器模式。您好,谢谢回复。您能给我举个例子吗?这个来自mbostock本人的例子将有助于理解关键功能的工作原理:您在第一个实例中使用的
.data
函数的形式旨在通过赋值实现对象一致性
.data
d3.max
d3.mean
等不遵循相同的访问器模式。您好,谢谢回复。您能给我举个例子吗?这个来自mbostock本人的例子有助于理解关键功能的工作原理: