java中map与实体类的相互转换操作
作者:宅男大咖 时间:2023-03-14 01:42:35
java中map与实体类的相互转换
1. 在 pom.xml 中引入依赖包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>
2. 在控制类中引入
import com.alibaba.fastjson.JSON;
3. 类型转换
JSON.parseObject(JSON.toJSONString(源数据), 转换后数据类型.class);
// 将 Map 转换为 实体类
User user = JSON.parseObject(JSON.toJSONString(user01), User.class);
System.out.println(user);
// 将 实体类 转换为 Map
Map map = JSON.parseObject(JSON.toJSONString(user), Map.class);
System.out.println(map);
4. 转换成功
将map转换为实体类的两种方法
今天写项目时需要把map中的值写到对应的实体类中去,以前在遇到同样的问题时因为需要的数据只要那么几个字段,所以通过get和set的方式感觉还行不是特别麻烦,而这次需要几乎所有字段,一共有十几个,如果还是才采用这用方式实在太麻烦。
查阅资料后发现了两个不错的方法
方法一
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.30</version>
</dependency>
JSON.parseObject(JSON.toJSONString(Map<String, ? extends Object>), Class<T> bean);
通过fastjson先将map转换成json字符串,然后再将json字符串转换成实体类。
方法二
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
BeanUtils.populate(Object bean, Map<String, ? extends Object> map)
这个方法会遍历map<key, value>中的key,如果bean中有这个属性,就把这个key对应的value值赋给bean的属性。
来源:https://www.cnblogs.com/zhainan-blog/p/12009523.html
标签:java,map,实体类
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java多线程编程之读写锁ReadWriteLock用法实例
2021-10-13 17:01:14
![](https://img.aspxhome.com/file/2023/0/65620_0s.png)
Spring boot + mybatis + orcale实现步骤实例代码讲解
2023-07-11 22:50:09
![](https://img.aspxhome.com/file/2023/1/61261_0s.png)
Spring Cache手动清理Redis缓存
2023-11-29 02:49:52
Android实用图文教程之代码混淆、第三方平台加固加密、渠道分发
2022-06-23 18:12:44
![](https://img.aspxhome.com/file/2023/6/138556_0s.jpg)
Elasticsearch学习之Terms set 查询
2021-12-01 01:52:19
Java后台线程操作示例【守护线程】
2023-11-25 01:35:44
Android7.0 MTK设置默认桌面
2023-09-26 12:30:43
C#判等对象是否相等的方法汇总
2023-07-13 22:55:07
![](https://img.aspxhome.com/file/2023/7/108707_0s.png)
java+opencv实现人脸识别功能
2023-02-20 21:52:58
![](https://img.aspxhome.com/file/2023/3/103073_0s.jpg)
fastjson转换对象实体@JsonProperty不生效问题及解决
2023-10-07 00:13:51
![](https://img.aspxhome.com/file/2023/2/65312_0s.png)
C#中跨线程访问控件问题解决方案分享
2021-06-27 18:47:24
Java Springboot 重要知识点整理汇总
2022-03-17 01:06:57
详解Springboot之整合JDBCTemplate配置多数据源
2023-05-03 13:40:43
Android 读取资源文件实例详解
2022-08-28 13:31:17
Unity3D实现批量下载图片功能
2021-07-03 13:00:14
![](https://img.aspxhome.com/file/2023/3/106503_0s.png)
详解SpringCloud Ribbon 负载均衡通过服务器名无法连接的神坑
2021-06-01 07:28:41
![](https://img.aspxhome.com/file/2023/7/61237_0s.png)
Mybatis实现数据的增删改查实例(CRUD)
2022-05-29 07:03:50
详解记录Java Log的几种方式
2022-11-10 16:38:19
![](https://img.aspxhome.com/file/2023/2/76212_0s.png)
javassist使用指南
2023-03-04 17:03:00
java 非常好用的反射框架Reflections介绍
2022-11-25 01:25:52
![](https://img.aspxhome.com/file/2023/4/64504_0s.jpg)