java中map與實體類的相互轉換操作
阿新 • • 發佈:2021-07-12
中map與實體類的相互轉換
1. 在 pom.xml 中引入依賴包
<dependency> <groupId>com.alibaba</groupId> <artifactId>faston</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(usewww.cppcns.comr);
// 將 實體類 轉換為 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)www.cppcns.com
這個方法會遍歷map<key,value>中的key,如果brCyWVGean中有這個屬性,就把這個key對應的value值賦給bean的屬性。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。