2012-04-30 53 views
1

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

+0

http://stackoverflow.com/questions/338586/a-better-java-json-library和http://stackoverflow.com/questions/1688099/converting-json-to-java和http:// stackoverflow .com/search?tab = votes&q = [java]%20%2bjson – assylias

+0

google ... google ...(http://www.mkyong.com/tutorials/java-json-tutorials/) – Luca

回答

0

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

我建议您在阅读过程中逐个阅读实体并将它们排列在树中。

第二部分更简单。有几个Java-to-JSON工具。例如GSON就是Google。看看这里:http://code.google.com/p/google-gson/ 几行代码和你的树被序列化为JSON。

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

+0

这非常有帮助。我在想,我必须自己读取数据并将其组织到树结构中。感谢您验证我的想法。是否有任何特定的有效方法在阅读了多个子笔记级别之后在树结构中组织数据。 gson编写json树结构的数据是什么格式? – user1365990

0

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

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

一旦你已经建立了树,就可以该对象发送到JSON序列像Flexjson来转换Java对象到JSON。 Flexjson还有另外一个好处,就是如果你在图表中有循环,就像孩子知道他们的父节点一样,那么它就不会像其他库那样序列化。

相关问题