我有一棵树,节点长这样:
-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库,但节点类不可更改。
编辑:这种格式非常奇怪,但是必需的。 "属性"就是节点,如果"属性"有子项,则它们不会放在"属性"中,而是放在"属性"之后...我认为这不太合理,但我无法更改。