【发布时间】:2014-04-15 20:45:08
【问题描述】:
我有一个单级邻接列表,我从关系数据库构建到 Rails 4 项目中的 JSON 对象。好像
{
"6": {
"children": [
8,
10,
11
]
},
"8": {
"children": [
9,
23,
24
]
},
"9": {
"children": [
7
]
},
"10": {
"children": [
12,
14
]
...
}
现在我想把它变成一个 JSON 结构供 jsTree 使用,看起来像
{
id: "6",
children: [
{ id: "8", children: [ { id: "9", children: [{id: "7"}] }]
{ id: "10", children: [ { id: "12",...} {id: "14",...} ] }
...and so on
}
我在构建这种树时面临的问题是在 JSON 的嵌套级别上回溯的问题。算法教科书中的示例不足以与我的经验相匹配,我的经验是通过将一些基本数据(如数字或字符串)推送到堆栈来简单地处理回溯问题。
感谢任何有关构建此类树的实用方法的帮助。
【问题讨论】:
-
为什么不使用像 act_as_tree 或 ancestry 或 awesome_nested_set 这样的 AR 模型添加层次结构的 gem?
-
@MarkThomas 是的,虽然它会让我的生活更轻松,但我正在开发一个已经在这些线上开发的应用程序。
标签: ruby json algorithm tree adjacency-list