对象,list,map与json字符串之间的转换
对象,list,map与json字符串之间的转换
01 引入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.61</version>
</dependency>
官方源码地址
: https://gitee.com/wenshao/fastjson?_from=gitee_search
02 测试代码
package com.saiyou.test;
import com.alibaba.fastjson.JSON;
import com.saiyou.entity.dto.UserDto;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author : lyn
* 技术点 :
* @description:
* @date : 2022/1/19 23:45
*/
public class JsonTest {
public static void main(String[] args) {
//1 准备测试数据,单个对象,list,map
UserDto one = UserDto.builder().id(12).age(113).name("试试").build();
UserDto two = UserDto.builder().id(13).age(98).name("看看").build();
List<UserDto> list = Arrays.asList(one, two);
Map<Integer, UserDto> idMap = list.stream().collect(Collectors.toMap(UserDto::getId, UserDto -> UserDto));
//2 转json字符串
//2.1 对象转json字符串(单个对象,list,map都可以)
String objJson = JSON.toJSONString(one);
System.out.println(objJson);
//2.2 list转json字符串(单个对象,list,map都可以)
String listJson = JSON.toJSONString(list);
//结果: {"age":113,"id":12,"name":"试试"}
System.out.println(listJson);
//结果: [{"age":113,"id":12,"name":"试试"},{"age":98,"id":13,"name":"看看"}]
//2.3 map转json字符串(单个对象,list,map都可以)
String mapJson = JSON.toJSONString(idMap);
System.out.println(mapJson);
//结果: {12:{"age":113,"id":12,"name":"试试"},13:{"age":98,"id":13,"name":"看看"}}
//3 对应的json字符串转回原有的类型
//3.1 对象类型的json字符串转回原有的类型,第二个参数指定泛型
UserDto userDto = JSON.parseObject(objJson, UserDto.class);
//3.2 list类型的json字符串转回原有的类型
List<UserDto> userDtos = JSON.parseArray(listJson, UserDto.class);
//3.3 map类型的json字符串转回原有的类型(应该有更好的方法,暂时未找到)
Map<Integer, UserDto> map = (Map<Integer, UserDto>) JSON.parseObject(mapJson, Map.class);
//结果: 正常转回
}
}
分类:
编程基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具