2

我们有一个数据库,其中包含数据库中树的每一行的 child_id、parent_id 和其他详细信息。我正在寻找一种最佳方法来递归地从数据库中读取数据并创建 JSON,但不知道子项在每个根节点下运行的深度。还有什么东西可以帮助创建 JSON 而无需在程序中手动编写 JSON 的语法?在此先感谢您的任何指点。

4

2 回答 2

0

我认为您找不到可以帮助您从数据库中读取应用程序级别数据并创建树状数据结构的工具。所以,这是你必须自己实现的。

我建议您一个接一个地阅读实体,并在阅读过程中将它们排列成树。

第二部分比较简单。有几个 Java 到 JSON 的工具。例如 GSON 来自 Google。看看这里:http ://code.google.com/p/google-gson/ 几行代码,你的树被序列化为 JSON。

顺便说一句要小心:它支持树,但根据我的经验,它不支持带循环的图。

于 2012-04-30T14:28:23.450 回答
0

从数据库中读取并创建一个 Tree 对象。你可以很容易地使用这样的东西:

public class Node<T> {
    public T content;
    public List<Node<T>> children;
}

一旦您构建了该树,您可以将该对象发送到一个 JSON 序列化程序(如Flexjson),以将该 Java 对象转换为 JSON。Flexjson 有一个额外的好处,如果你在图中有循环,比如孩子知道他们的父节点,那么它不会像其他库那样序列化失败。

于 2012-04-30T14:29:38.020 回答