java中map與實(shí)體類的相互轉(zhuǎn)換操作
java中map與實(shí)體類的相互轉(zhuǎn)換
1. 在 pom.xml 中引入依賴包

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>
2. 在控制類中引入
import com.alibaba.fastjson.JSON;
3. 類型轉(zhuǎn)換

JSON.parseObject(JSON.toJSONString(源數(shù)據(jù)), 轉(zhuǎn)換后數(shù)據(jù)類型.class);
// 將 Map 轉(zhuǎn)換為 實(shí)體類 User user = JSON.parseObject(JSON.toJSONString(user01), User.class); System.out.println(user); // 將 實(shí)體類 轉(zhuǎn)換為 Map Map map = JSON.parseObject(JSON.toJSONString(user), Map.class); System.out.println(map);
4. 轉(zhuǎn)換成功

將map轉(zhuǎn)換為實(shí)體類的兩種方法
今天寫項(xiàng)目時(shí)需要把map中的值寫到對應(yīng)的實(shí)體類中去,以前在遇到同樣的問題時(shí)因?yàn)樾枰臄?shù)據(jù)只要那么幾個(gè)字段,所以通過get和set的方式感覺還行不是特別麻煩,而這次需要幾乎所有字段,一共有十幾個(gè),如果還是才采用這用方式實(shí)在太麻煩。
查閱資料后發(fā)現(xiàn)了兩個(gè)不錯(cuò)的方法
方法一
<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轉(zhuǎn)換成json字符串,然后再將json字符串轉(zhuǎn)換成實(shí)體類。
方法二
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
BeanUtils.populate(Object bean, Map<String, ? extends Object> map)
這個(gè)方法會(huì)遍歷map<key, value>中的key,如果bean中有這個(gè)屬性,就把這個(gè)key對應(yīng)的value值賦給bean的屬性。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot框架集成token實(shí)現(xiàn)登錄校驗(yàn)功能
這篇文章主要為大家詳細(xì)介紹了SpringBoot框架集成token實(shí)現(xiàn)登錄校驗(yàn)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
Java實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建類操作示例
這篇文章主要介紹了Java實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建類操作,結(jié)合完整示例形式分析了Java動(dòng)態(tài)創(chuàng)建類的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
springboot多模塊化整合mybatis,mapper自動(dòng)注入失敗問題及解決
這篇文章主要介紹了springboot多模塊化整合mybatis,mapper自動(dòng)注入失敗問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
詳解SpringBoot?調(diào)用外部接口的三種方式
SpringBoot不僅繼承了Spring框架原有的優(yōu)秀特性,而且還通過簡化配置來進(jìn)一步簡化了Spring應(yīng)用的整個(gè)搭建和開發(fā)過程,這篇文章主要介紹了SpringBoot?調(diào)用外部接口的三種方式,需要的朋友可以參考下2023-04-04

