我们有一个数据库,其中包含数据库中树的每一行的child_id,parent_id和其他详细信息。我正在寻找一种最佳方法来递归地从数据库中读取数据并创建JSON,而不知道子项在每个根节点下运行的深度。还有什么东西可以帮助创建JSON,而无需在程序中手动编写JSON的语法?提前感谢任何指示。
答案 0 :(得分:0)
我认为您无法找到可以帮助您从数据库中读取应用程序级数据并创建树状数据结构的工具。所以,这是你必须自己实现的。
我建议您逐个阅读实体,并在阅读时将它们排列到树中。
第二部分更简单。有几种Java-to-JSON工具。例如GSON组成Google。看看这里:http://code.google.com/p/google-gson/ 几行代码和您的树被序列化为JSON。
BTW要小心:它支持树,但根据我的经验,不支持带循环的图形。
答案 1 :(得分:0)
从数据库中读取您的内容并创建一个Tree对象。你可以很容易地使用这样的东西:
public class Node<T> {
public T content;
public List<Node<T>> children;
}
一旦构建了该树,就可以将该对象发送到JSON序列化程序,如Flexjson,以将该Java对象转换为JSON。 Flexjson还有一个额外的好处,如果您在图中有循环,就像孩子知道他们的父节点一样,那么它将不会像其他库一样序列化。