【发布时间】:2012-08-21 15:10:49
【问题描述】:
我有一棵树,其节点如下:
-Root
|-Node 1
|-Node 2
|-Node 2.1
其中一个节点由一个类表示
class Node {
Integer id;
String name;
String route;
}
所示节点的实例保存方式如下
{id: 1, name: "Root", route:"1"}
{id: 2, name: "Node 1", route: "1/2"}
{id: 3, name: "Node 2", route: "1/3"}
{id: 4, name: "Node 2.1", route: "1/3/4"}
问题是:如何从节点列表中获取表示树状态的 json,例如:
[{
"property": {
"name": "Root",
"id": "1",
"route": "1"
},
"children": [{
"property": {
"name": "Node 1",
"id": "2",
"route": "1/2"
},
"property": {
"name": "Node 2",
"id": "3",
"route": "1/3"
},
"children": [{
"property": {
"name": "Node 3",
"id": "4",
"route": "1/3/4"
}
}]
}]
}]
我正是需要这个 json 结构
所有这些东西都必须在 java 中完成。我试图遍历我的节点列表并构建 json 对象,但我无法从节点的路由字段中获取 json 结构
我可以使用 json 库,节点类是不可更改的
编辑:这种格式很奇怪,但需要。 “属性”是节点,如果“属性”有子节点,它们不会放在属性中,以太在属性之后......我认为这不太合理,但我无法改变它
【问题讨论】:
-
Freak2000 :编辑您的问题而不是在 cmets 中回答,这会容易得多
-
你能使用 JSON 库吗? Node 类是不可更改的吗?
-
您能否更详细地解释所需的输出。在我的回答中,我假设每个节点都有孩子。但是在您的输出中,“属性”对应于节点,并且“属性”似乎没有子节点。什么是有孩子的?