将嵌套json数据处理成数据连接

Processing nested json data into data joins

本文关键字:数据 连接 数据处理 嵌套 json      更新时间:2023-09-26

我最近决定使用嵌套json,但是,我无法访问它们。我已经看到了一些使用data方法返回数据的不同方法的例子,例如:

 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)"}
]}; 

thanks in advance

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

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

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