Желаемый результат должен быть следующим. Узел класса, который сериализуется в конце, превратит класс в строку json для меня, однако проблема заключается в том, что процесс должен быть закодирован, а не жестко закодирован.создать функцию java для повторного добавления объекта
{"name":"Main","nodes":[{"name":"Tree","nodes":[{"name":"Branch","nodes":[{"name":"Stick","nodes":[{"name":"Leaf"}]}]}]}]}
Я пытаюсь выполнить этот процесс, чтобы я не вручную добавлял все объекты друг в друга.
Node mainNode = new Node();
mainNode.setName("Main");
String directory = "Tree/Branch/Stick/Leaf";
Node n1 = new Node();
n1.setName("Tree");
Node n2 = new Node();
n2.setName("Branch");
Node n3 = new Node();
n3.setName("Stick");
Node n4 = new Node();
n4.setName("Leaf");
n3.addNode(n4);
n2.addNode(n3);
n1.addNode(n2);
mainNode.addNode(n1);
Gson gson = new Gson();
logger.info(gson.toJson(mainNode));
класс Node
public class Node {
public String name;
public Node[] nodes;
public Node(){}
public Node(String name){
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Node[] getNodes() {
return nodes;
}
public void setNodes(Node[] nodes) {
this.nodes = nodes;
}
public void addNode(Node node){
this.nodes = (Node[]) ArrayUtils.add(this.nodes, node);
}
Зачем вам нужен массив внутри, если вы храните только простой объект? – eg04lt3r