【发布时间】:2013-08-04 05:02:51
【问题描述】:
我有一个父子连接数据库。数据如下所示,但可以以任何您想要的方式呈现(字典、列表列表、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 布局中呈现如下。
【问题讨论】:
标签: python django json recursion d3.js