使用递归创建深层嵌套JSON

时间:2017-06-26 18:57:01

标签: java json recursion simplejson

这个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代码/算法..

一个简单的递归方法可以帮助我,或者是否有任何标准库来执行此操作

enter image description here

1 个答案:

答案 0 :(得分:0)

您的直接问题是您的递归函数每次调用时都会执行SQL查询,因此永远不会超出第一个结果行。因此堆栈溢出。重新构建代码,以便查询在开头只执行一次。我没有时间设置表来尝试这个,但直观地说,你需要将函数移动到'while'循环之前。

相关问题