将嵌套的json数据处理为数据连接

时间:2013-03-07 05:28:10

标签: 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.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)"}
]}; 

提前致谢

1 个答案:

答案 0 :(得分:1)

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

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

如果你有另一个,我愿意接受其他的做事方式。谢谢:)