拼上下级关系的json数据格式
一个无聊的需求是需要在后台把一个树形结构拼成json字符串。记录一下这个过程:
把下面那张图的数据列表拼成这样的串:
{"children":[{"children":[{"children":[ ],"id":"4","name":"d","pid":"2"},{"children":[ ],"id":"5","name":"e","pid":"2"}],"id":"2","name":"b","pid":"1"},{"children":[{"children":[ ],"id":"6","name":"f","pid":"3"}],"id":"3","name":"c","pid":"1"}],"id":"1","name":"a","pid":""}
json在线格式化查看工具可以用:http://tool.lu/json/
说下代码实现,先写个VO:
public class T {
private String id;
private String pid;
private String name;
private List<T> children = new ArrayList<T>();
...get...set方法...
//开始拼json
T jsonT = new T();
Map<String, T> map = new HashMap<String, T>();
for (T t : list) {
map.put(t.getId(), t);
}for (T t : list) {
if(!map.containsKey(t.getPid())) {
jsonT = t;
} else {
T pt = map.get(t.getPid());
pt.getChildren().add(t);
}
}JSONObject json= JSONObject.fromObject(jsonT);
System.out.println(json.toString());}
转换成json串有两种方式:
一、
json-lib-2.4-jdk15.jar
ezmorph-1.0.6.jar
用这两个jar包转换:
JSONObject json= JSONObject.fromObject(jsonT);
System.out.println(json.toString());
二、
jackson-jaxrs-1.9.13.jar
jackson-core-asl-1.9.13.jar
jackson-mapper-asl-1.9.13.jar
用jackson的包
StringWriter writer = new StringWriter();
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(writer, rootVo);
bodyJson = new JSONObject(writer.toString());
第一种方式的jar包在maven库里面找不到,后面改用第二种,整个过程还是有坑啊。。
顺手记录一下,没啥用的一篇文章。
拼上下级关系的json数据格式相关推荐
- XML和JSON数据格式对比
概念 XML 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语 ...
- JSON数据格式解析库(cJSON、Jansson)的使用在STM32上移植和使用
json | json-c使用入门 这篇讲的也不错,抽空看下(网络传输json数据) https://www.bilibili.com/video/av669454528?p=3&spm_id ...
- python json数据格式数组内元素递增赋值_利用Python实现JSON格式数据的编码与解码操作...
导读 JSON (全称:JavaScript Object Notation )是一种轻量级的数据交换格式,所谓的轻量级,是与 XML 数据结构相比而言的,在描述相同的数据下,JSON 所需的字符比X ...
- echarts simple graph上下级关系图
1.需求: 现有功能不够清晰展示关系,修改为上下级关系,现有功能图如下: 修改后功能图如下: 2.话不多说上代码 gxt(src,dst,attacks){if(src.length<=1){t ...
- Ajax---使用json数据格式输出数据
将Ajax得到的数据使用json数据格式输出 1.项目清单 2.代码 2.1.Procince类代码 2.2.ProvinceDao类代码 2.3.QueryJsonServlet类代码 2.4.Te ...
- JSON 数据格式解析(转)
JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互.本文将快速讲解 JSON 格式,并通过代码示例演示如 ...
- Ajax系列之JSON数据格式
JSON数据格式 JSON是什么 JSON是一种轻量级的数据交换格式 JSON文件时独立的,扩展名是".json"该文件中允许保存JSON格式的数据 注意: 在JSON文件中字符串 ...
- android 将数据转换成JSON数据格式并使用JSONObject解析JSON格式的数据
比起XML文件解析,JSON数据解析的有点在于他的体积小,在网络上传输的时候可以更省流量.同时它也有缺点,Json数据的语义性较差,看起来没有XML直观.现在JSON已经被大多数开发人员所接受,在网络 ...
- JSON数据格式:以及XML文件格式,YML文件格式,properties文件格式
JSON数据格式:以及XML文件格式,YML文件格式,properties文件格式 数据格式: json数据格式:属于轻量级数据格式,是javascript的一种描述数据的格式.具有易于解析,语法简单 ...
最新文章
- 腾讯广告广点通API接入文档(Android)
- redis cluster配置文件和集群状态详解
- oracle密码文件认证,Oracle OS认证与口令文件认证详解
- 良/恶性乳腺癌肿瘤预测
- Flexible 弹性盒子模型之CSS flex-shrink 属性
- CICD详解(六)——SVN+Jenkins项目控制实战
- 飞天云动能否一飞冲天?
- FIL新一轮上涨:FIL算力通证迎来新热潮
- mybatis学习4
- 浅谈go语言交叉编译
- 2022-08-08 第二小组 张明旭 Java学习记录
- (PTA)数据结构(作业)5、堆栈
- 计算机网络复习题第四章(标有课本知识点)
- 用Dynamips构建能够与真实机器通信的IPSec ***环境
- PyCharm安装第三方库如Requests
- 免费录屏软件Captura下载安装
- 渗透测试-web到内网的总结
- 【操作系统】Oranges学习笔记(五) 第六章 进程
- 拼多多新手卖家必备知识,你掌握了几点?
- vs无法写入量的大数据_足球大数据分析 法甲 20:00 南特 VS 梅斯