【发布时间】:2017-03-28 06:46:12
【问题描述】:
我想要将节点和链接 json 转换为树 json 的 javascript 函数。
这里是节点和链接 JSON:
{
"nodes": [
{name: "Top Level", group: 1},
{name: "Level 2: A", group: 1},
{name: "Son of A", group: 1},
{name: "Daughter of A", group: 1},
{name: "Level 2: B", group: 1}
],
"links": [
{source: 0, target: 1, value: 1},
{source: 0, target: 4, value: 1},
{source: 1, target: 2, value: 1},
{source: 1, target: 3, value: 1}
]
}
这里有“源”和“目标”的链接数组是节点数组索引。 例如 {source: 0, target: 1, value: 1} :- source:0 表示节点 [0] 和 target:1 表示节点[1]
在上面的 json 转换之后,树的层次结构如下所示:
[
{
"name": "Top Level",
"parent": "null",
"children": [
{
"name": "Level 2: A",
"parent": "Top Level",
"children": [
{
"name": "Son of A",
"parent": "Level 2: A"
},
{
"name": "Daughter of A",
"parent": "Level 2: A"
}
]
},
{
"name": "Level 2: B",
"parent": "Top Level"
}
]
}
];
谢谢。
【问题讨论】:
-
你怎么知道谁是谁的孩子,谁是谁的父母?
-
我打赌 OP 会说 "by the value of
name". -
欢迎来到 Stack Overflow!请参观How do I ask a good question?和How to create a Minimal, Complete, and Verifiable example。
-
您似乎希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的编码人员编写代码,但他们通常只有在发布者已经尝试自己解决问题时才会提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码(形成minimal reproducible example)、示例输入(如果有的话)、预期输出和实际获得的输出(输出、回溯、 ETC。)。您提供的详细信息越多,您可能收到的答案就越多。检查tour 和How to Ask。
-
@brk 我已经更新了我的问题,请检查一下。如果有任何疑问,请告诉我。谢谢。
标签: javascript arrays json d3.js