java中map與實體類的相互轉換操作
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(源數(shù)據(jù)), 轉換后數(shù)據(jù)類型.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中的值寫到對應的實體類中去,以前在遇到同樣的問題時因為需要的數(shù)據(jù)只要那么幾個字段,所以通過get和set的方式感覺還行不是特別麻煩,而這次需要幾乎所有字段,一共有十幾個,如果還是才采用這用方式實在太麻煩。
查閱資料后發(fā)現(xiàn)了兩個不錯的方法
方法一
<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的屬性。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
RocketMq同組消費者如何自動設置InstanceName
這篇文章主要介紹了RocketMq同組消費者如何自動設置InstanceName問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06打包部署若依(RuoYi)SpringBoot后端和Vue前端圖文教程
若依是一個使用Spring Boot作為后端和Vue.js作為前端的全棧應用開發(fā)平臺,下面這篇文章主要給大家介紹了關于打包部署若依(RuoYi)SpringBoot后端和Vue前端的相關資料,需要的朋友可以參考下2024-05-05easyexcel讀取excel合并單元格數(shù)據(jù)的操作代碼
這篇文章主要介紹了easyexcel讀取excel合并單元格數(shù)據(jù)的操作代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-05-05Mybatis-Plus使用@TableField實現(xiàn)自動填充日期的代碼示例
數(shù)據(jù)庫中經(jīng)常有create_time,update_time兩個字段,在代碼中設置時間有點太麻煩了?mybatis-plus可以幫我們自動填充,本文主要介紹了Mybatis-Plus使用@TableField實現(xiàn)自動填充日期的代碼示例,感興趣的可以了解一下2022-04-04