制作嵌套的JSON Javascript

时间:2015-03-12 16:13:30

标签: javascript json d3.js visualization

我正在尝试为sunburst图制作嵌套的JSON,但是我遇到了一些麻烦。正如你在下面的小提琴中看到的那样,共享父母名字的孩子并没有被应用到一切?我希望No Virtual与Virtual Parent具有相同的属性。但是因为它们是同一个名字我遇到了问题?

有没有办法检查树的根是否相同?这种方式每次都可能不同,但是它会越来越嵌套,这些名称的选择也是一样的。

http://jsfiddle.net/cre96uf3/2/

 // create a name: node map
var dataMap = data.reduce(function(map, node) {
map[node.name] = node;
return map;
}, {});

 // create the tree array
 var tree = [];
data.forEach(function(node) {
// add to parent
var parent = dataMap[node.parent];
if (parent) {
    // create child array if it doesn't exist
    (parent.children || (parent.children = []))
        // add node to child array
        .push(node);
} else {
    // parent is null or missing
    tree.push(node);
}
 });

 // show what we've got
 d3.select('body').append('pre')
     .text(JSON.stringify(tree, null, '  '));

1 个答案:

答案 0 :(得分:0)

有d3.nest使你的生活比这更容易。

这是一个非常有用的工具,可以用来嵌套: http://bl.ocks.org/shancarter/raw/4748131/

否则请在此处阅读: http://www.d3noob.org/2014/02/grouping-and-summing-data-using-d3nest.html

祝你好运,