当前位置: 首页 > news >正文

List<对象>转JSON字符串以及JSON字符串转List<对象>

签名:但行好事,莫问前程。

文章目录

  • 前言
  • 一、工作需求
  • 二、List<对象>转JSON字符串
  • 三、JSON字符串转List<对象>
  • 总结


前言

记录一下List<对象>转JSON字符串以及JSON字符串转List<对象>


一、工作需求

产品需求中有一个需求要求页面布局以JSON保存
在这里插入图片描述
在这里插入图片描述
版本实体类:

public class SoftwareVersion extends SuperEntity {private static final long serialVersionUID = 1L;@Schema(description = "版本名称")private String name;@Schema(description = "版本描述")private String description;@Schema(description = "板块数量")private Integer sectionNumber;@Schema(description = "栏目数量")private Integer columnNumber;@Schema(description = "是否授权全部工具:0-否;1-是")private Boolean toolAll;@Schema(description = "仅限以下工具,以逗号分割工具主键ID")private String toolOnly;@Schema(description = "是否授权全部布局:0-否;1-是")private Boolean layoutAll;@Schema(description = "授权布局【以JSON格式保存】")private String pageLayout;@Schema(description = "员工数量")private Integer employeesNumber;@Schema(description = "管理员数量")private Integer administratorNumber;
}

版本授权布局dto

@Data
@Schema(name = "VersionLayoutDto")
public class VersionLayoutDto {// 布局名称private String name;// 布局类型private Integer type;// 布局数量private Integer number;// 布局是否可用private Boolean able;}

代码实现:

public class Demo {public static void main(String[] args) {List<VersionLayoutDto> versionLayoutDtoList = new ArrayList<>(4);VersionLayoutDto versionLayoutDto1 = new VersionLayoutDto();versionLayoutDto1.setName("轮播");versionLayoutDto1.setType(1);versionLayoutDto1.setNumber(6);versionLayoutDto1.setAble(true);VersionLayoutDto versionLayoutDto2 = new VersionLayoutDto();versionLayoutDto2.setName("通栏");versionLayoutDto2.setType(2);versionLayoutDto2.setNumber(6);versionLayoutDto2.setAble(true);VersionLayoutDto versionLayoutDto3 = new VersionLayoutDto();versionLayoutDto3.setName("两栏");versionLayoutDto3.setType(3);versionLayoutDto3.setNumber(6);versionLayoutDto3.setAble(true);VersionLayoutDto versionLayoutDto4 = new VersionLayoutDto();versionLayoutDto4.setName("三栏");versionLayoutDto4.setType(4);versionLayoutDto4.setNumber(6);versionLayoutDto4.setAble(true);versionLayoutDtoList.add(versionLayoutDto1);versionLayoutDtoList.add(versionLayoutDto2);versionLayoutDtoList.add(versionLayoutDto3);versionLayoutDtoList.add(versionLayoutDto4);String jsonString = JSON.toJSONString(versionLayoutDtoList);System.out.println("List<VersionLayoutDto> versionLayoutDtoList: 转换成json字符串");System.out.println(jsonString);System.out.println();System.out.println("jsonString 转换成 List<VersionLayoutDto>");List<VersionLayoutDto> list = JSONArray.parseArray(jsonString, VersionLayoutDto.class);list.forEach(System.out::println);}
}

运行结果:

在这里插入图片描述

二、List<对象>转JSON字符串

String jsonString = JSON.toJSONString(versionLayoutDtoList);

三、JSON字符串转List<对象>

List<VersionLayoutDto> list = JSONArray.parseArray(jsonString, VersionLayoutDto.class);

总结

博客主要记录了List<对象>转JSON字符串以及JSON字符串转List<对象>,有啥错误或不足地方请指正,如果对你有所帮助,请一键三连。


http://www.mrgr.cn/news/9082.html

相关文章:

  • 大模型重塑就医体验:医联MedGPT助力健康中国建设
  • k8s搭建
  • vagrant 创建虚拟机
  • k8s中service对象
  • HTTP协议
  • 【Linux】如何快速查看 linux 服务器有几个cpu
  • 网站上线流程完全手册:域名、服务器与CDN
  • Java并发编程的核心概念--线程与进程
  • 河南萌新2024第五场
  • LeetCode100.删除链表的倒数第 N 个结点
  • Button窗口部件
  • ARM——操作示例
  • Git 多人协作
  • Python--正则表达式
  • git命令
  • FlinkCEP - Flink的复杂事件处理详解
  • 每天一个数据分析题(四百九十八)- Apriori算法
  • 基于C#和TIA博途实现S7通信的基本方法示例(电机启保停)
  • OpenHarmony标准设备应用开发实战(一)——HelloWorld
  • HTMl标签;知识回忆;笔记分享;