我有一个父子连接数据库。数据如下所示,但可以以任何您想要的方式呈现(字典、列表列表、JSON 等)。
links=(("Tom","Dick"),("Dick","Harry"),("Tom","Larry"),("Bob","Leroy"),("Bob","Earl"))
我需要的输出是一个分层的 JSON 树,它将用 d3 呈现。数据中有离散的子树,我将它们附加到根节点。所以我需要递归地遍历链接,并建立树结构。我能得到的最远的方法是遍历所有人并附加他们的孩子,但我不知道做更高阶的链接(例如如何将一个有孩子的人附加到其他人的孩子)。这与此处的另一个问题类似,但我无法提前知道根节点,因此无法实施接受的解决方案。
我将从我的示例数据中获取以下树结构。
{
"name":"Root",
"children":[
{
"name":"Tom",
"children":[
{
"name":"Dick",
"children":[
{"name":"Harry"}
]
},
{
"name":"Larry"}
]
},
{
"name":"Bob",
"children":[
{
"name":"Leroy"
},
{
"name":"Earl"
}
]
}
]
}
这种结构在我的 d3 布局中呈现如下。