导航:首页 > 编程语言 > jsonu0000

jsonu0000

发布时间:2025-07-29 17:11:27

1. 如何用java递归生成带children的json串

代码很简单就两个类一个TreeNode.java 和一个测试类Test.java(可直接运行)
在运行之前需要以下公共类:
commons-beanutils.jar
commons-collections.jar
commons-lang.jar
commons-logging.jar
ezmorph-1.0.6.jar
json-lib-2.3-jdk15.jar
package com.test;
import java.util.ArrayList;
public class TreeNode {
private String id;
private String pid;
private String name;
private String remark;
private ArrayList<TreeNode> children = new ArrayList<TreeNode>();
public TreeNode(String id, String pid, String name, String remark) {
this.id = id;
this.pid = pid;
this.name = name;
this.remark = remark;
}
public void add(TreeNode node) {//递归添加节点
if ("0".equals(node.pid)) {
this.children.add(node);
} else if (node.pid.equals(this.id)) {
this.children.add(node);
} else {
for (TreeNode tmp_node : children) {
tmp_node.add(node);
}
}
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public ArrayList<TreeNode> getChildren() {
return children;
}
public void setChildren(ArrayList<TreeNode> children) {
this.children = children;
}
}

测试类Test.java
package com.test;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Test {
public static void main(String[] args) {
TreeNode root = new TreeNode("0", "0", "000000", "00JJJ");
TreeNode node = null;
node = new TreeNode("1", "0", "111111", "11AAA");
root.add(node);
node = new TreeNode("2", "0", "222222", "11BBB");
root.add(node);
node = new TreeNode("3", "2", "333333", "11CCC");
root.add(node);
// JSONObject obj = JSONObject.fromObject(root);//有根
JSONArray obj = JSONArray.fromObject(root.getChildren());// 不要根
System.out.println(obj.toString());
}
}

阅读全文

与jsonu0000相关的资料

热点内容
网络用语粉丝阅读什么意思 浏览:333
红头文件怎么打印 浏览:94
热血江湖130刺客升级 浏览:106
jsp页面放大镜技术介绍 浏览:101
网络编程udp 浏览:148
加密压缩文件如何打开 浏览:56
微软编程软件有哪些 浏览:736
linux目录中创建文件夹权限设置密码 浏览:759
word文档正式文件模版 浏览:247
linux文件系统的类型是 浏览:111
苹果的无线传输文件找不到了 浏览:102
密件文件名能出现在通知吗 浏览:832
编写一个web应用程序 浏览:350
哪些场所网络好 浏览:171
华为手机怎么找到以前安装过的app 浏览:100
49块一单约人陪的app是什么 浏览:570
ug文件格式图片 浏览:24
兴趣班编程课是学什么 浏览:879
怎么才能加微信医药群 浏览:601
微信表情小萝莉亲吻 浏览:876

友情链接