这个JSON是我期待的输出,
[{
"text": "a",
"nodes": [{
"text": "aa",
"nodes": [{
"text": "aa1"
}, {
"text": "aa2",
"nodes": [{
"text": "aaa1"
},
{
"text": "aaa2",
"nodes": [{
"text": "aaaa21"
}]
},
{
"text": "aaa3"
}
]
}]
}]
},
{
"text": "b",
"nodes": [{
"text": "bb1"
},
{
"text": "bb2"
}
]
},
{
"text": "c",
"nodes": [{
"text": "cc"
}]
},
{
"text": "d",
"nodes": [{
"text": "dd1",
"nodes": [{
"text": "ddd1"
},
{
"text": "ddd2"
},
{
"text": "ddd3",
"nodes": [{
"text": "ddd31",
"nodes": [{
"text": "ddd32"
}]
}]
}
]
}]
}]
所以简而言之,从下面的表结构我想生成一个像上面这样的JSON树,请有人和我分享一个java代码/算法..
一个简单的递归方法可以帮助我,或者是否有任何标准库来执行此操作
答案 0 :(得分:0)
您的直接问题是您的递归函数每次调用时都会执行SQL查询,因此永远不会超出第一个结果行。因此堆栈溢出。重新构建代码,以便查询在开头只执行一次。我没有时间设置表来尝试这个,但直观地说,你需要将函数移动到'while'循环之前。