我想从以下数据生成树结构:
[
{"first_name" => "Test", "id" => "1", "parent_id" => ""},
{"first_name" => "Test1", "id" => "2", "parent_id" => "1"},
{"first_name" => "Test2", "id" => "3", "parent_id" => "1"},
{"first_name" => "Test3", "id" => "4", "parent_id" => "2"}
]
我想创建ruby脚本来构建以下结构:
[
{
"first_name" => "Test",
"id" => "1",
"children" => [
{
"first_name" => "Test1",
"id" => "2",
"children" => [
{
"first_name" => "Test3",
"id" => "4"
}
]
},
{
"first_name" => "Test2",
"id" => "3"
}
}
]
在这种情况下你有一些提示吗?
答案 0 :(得分:1)
给定一个特定节点,很容易找到该节点的子节点。关键是要按正确的顺序进行,不要重复任何事情。因此,您可以从根开始并将节点分成两组:已添加到树中的节点和未添加到树中的节点。然后只需迭代树中的节点,添加它们的子节点,并将子节点从不在树中的节点集移动到树中的节点集。
我可以稍后添加一些Ruby代码,但是现在我不清楚你需要它。