递归将树转化成json字符串
来源:互联网 发布:mac五国循环重启 编辑:程序博客网 时间:2024/05/22 10:47
Tree.java:
package tree;import java.util.ArrayList;import java.util.List;class Node {private int data;private Node parent;private List<Node> children = new ArrayList<Node>();private Node rightSibling;public Node(int data) {this.data = data;}public int getData() {return data;}public void setData(int data) {this.data = data;}public Node getParent() {return parent;}public void setParent(Node parent) {this.parent = parent;}public List<Node> getChildren() {return children;}public void setChildren(List<Node> children) {this.children = children;}public Node getRightSibling() {return rightSibling;}public void setRightSibling(Node rightSibling) {this.rightSibling = rightSibling;}}public class Tree {private Node root;private StringBuffer buffer = new StringBuffer();public void init(Node root) {this.root = root;}public Node getRoot() {return this.root;}public void printTree() {convert(this.root);System.out.println(buffer.toString());}private void convert(Node node) {buffer.append("{\"data\":" + node.getData());if(node.getChildren().size() == 0) {buffer.append(",\"children\":null}");return;}else {buffer.append(", \"children\":[");for(Node n : node.getChildren()) {convert(n);buffer.append(",");}buffer = buffer.deleteCharAt(buffer.lastIndexOf(","));buffer.append("]}");}}}
TreeMain.java:
package tree;import java.util.List;public class TreeMain {public static void main(String[] args) {Node root = new Node(10);root.setData(10);Node n1 = new Node(1);Node n2 = new Node(2);Node n3 = new Node(3);n1.setParent(root);n2.setParent(root);n3.setParent(root);List<Node> list = root.getChildren();list.add(n1);list.add(n2);list.add(n3);root.setChildren(list);n1.setRightSibling(n2);n2.setRightSibling(n3);//======================================Node n4 = new Node(4);Node n5 = new Node(5);n4.setParent(n1);n5.setParent(n1);list = n1.getChildren();list.add(n4);list.add(n5);n1.setChildren(list);n4.setRightSibling(n5);//======================================Node n6 = new Node(6);Node n7 = new Node(7);n6.setParent(n2);n7.setParent(n2);list = n2.getChildren();list.add(n6);list.add(n7);n2.setChildren(list);n6.setRightSibling(n7);Tree tree = new Tree();tree.init(root);tree.printTree();System.out.println("\n" + root.getChildren().get(0).getRightSibling().getData());}}
运行结果:
{"data":10, "children":[{"data":1, "children":[{"data":4,"children":null},{"data":5,"children":null}]},{"data":2, "children":[{"data":6,"children":null},{"data":7,"children":null}]},{"data":3,"children":null}]}2
0 0
- 递归将树转化成json字符串
- 将json对象转化成json字符串
- javascript 将字符串转化成json对象
- 如何将json字符串转化成json对象呢
- 将json字符串 转化为 json
- 用递归法将一个整数n转化成字符串
- JS中怎么将json对象转化成字符串
- 将json格式的字符串转化成object对象
- 如何将字符串转化为json格式
- 将json字符串转化为Map对象
- 如何将Map转化为json字符串
- 将json字符串转化为java对象
- 如何将json对象转化为字符串?
- 将对象转化为JSON格式字符串
- JAVA 将json字符串转化为Map
- 将json串转化为字符串
- javascript将字符串转化为json
- Java如何将字符串转化为JSON(json-lib)
- 是东莞市的火锅店发货
- IIS权限设置
- codeforces 429A Xor-tree
- java.lang.IllegalArgumentException: id to load is required for loading
- 建站学习笔记(一)开篇+WWW
- 递归将树转化成json字符串
- 理解Javascript_01_理解内存分配
- Javascript类型检测
- 计算日期
- [LeetCode] Interleaving String
- Plus One
- AndroidManifest.xml - activity 详细说明
- Uva 12296 - Pieces and Discs 切割多边形 ,判断多边形和圆相交
- android:Invalid start tag RelativeLayout