我有一個父子連接的數據庫。數據如下所示,但可以以任何您想要的方式顯示(字典,列表,JSON等)。遞歸構建分層JSON樹?
links=(("Tom","Dick"),("Dick","Harry"),("Tom","Larry"),("Bob","Leroy"),("Bob","Earl"))
我需要的輸出是一個層次結構的JSON樹,它將用d3進行渲染。數據中有離散的子樹,我將附加到根節點。所以我需要遞歸地通過鏈接,並建立樹結構。我能得到的最遠是遍歷所有的人並追加他們的孩子,但我無法想象做更高級的鏈接(例如,如何將一個人的子女追加到別人的孩子身上)。這與另一個問題here類似,但我無法預先知道根節點,所以我無法實現可接受的解決方案。
我將從我的示例數據中查找以下樹形結構。
{
"name":"Root",
"children":[
{
"name":"Tom",
"children":[
{
"name":"Dick",
"children":[
{"name":"Harry"}
]
},
{
"name":"Larry"}
]
},
{
"name":"Bob",
"children":[
{
"name":"Leroy"
},
{
"name":"Earl"
}
]
}
]
}
此結構在我的d3佈局中呈現如下所示。
那裏沒有問題。還有,你還嘗試過什麼嗎?也許你應該? – netcoder