制作嵌套JSON Javascript
我正在尝试为sunburst图表创建嵌套JSON,但是遇到了一些麻烦。正如您在下面的小提琴中看到的,共享父名称的子项并没有应用于所有内容?我希望无虚拟对象具有与虚拟父对象相同的属性。然而,因为他们是同一个名字,我遇到了一个问题 有没有办法检查树的根是否相同?这样一来,它每次都会不同,但是它会变得越来越嵌套,并且这些名称的选择是相同的制作嵌套JSON Javascript,javascript,json,d3.js,visualization,Javascript,Json,D3.js,Visualization,我正在尝试为sunburst图表创建嵌套JSON,但是遇到了一些麻烦。正如您在下面的小提琴中看到的,共享父名称的子项并没有应用于所有内容?我希望无虚拟对象具有与虚拟父对象相同的属性。然而,因为他们是同一个名字,我遇到了一个问题 有没有办法检查树的根是否相同?这样一来,它每次都会不同,但是它会变得越来越嵌套,并且这些名称的选择是相同的 有一个d3.nest,它让你的生活比这容易多了 这是一个非常有用的工具,可以帮助您习惯嵌套: 否则,请在此处阅读: 祝你好运 Kim我不确定这是否更容易,因为
有一个d3.nest,它让你的生活比这容易多了 这是一个非常有用的工具,可以帮助您习惯嵌套: 否则,请在此处阅读: 祝你好运
Kim我不确定这是否更容易,因为我正在尝试为sunburst D3可视化制作JSON,它需要在不同的时间按不同的内容分组?
// 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, ' '));