Map 通過key取value值時,取出的LinkedHashMap轉換為實體對象


在做項目的時候,前端傳入的是一個  HashMap<String,Object> stringObjectMap。

Object是不同的實體對象,通過key取對應的value時,我想讓它轉換為實體對象,可是打斷點測試發現,取出的是一個LinkedHashMap型的對象

所以找到了一下的轉換方法:

Map<String,Object> map = new HashMap<>();

Object object = new Object();

map.put("key1",object);

//新建一個 ObjectMapper  對象

ObjectMapper objectMapper = new ObjectMapper();
User user = objectMapper.convertValue(map.get("key1"),User.class);

 

附加:map的遍歷key,取value。用lamda表達式

stringObjectMap.forEach((key, value) -> {
if (key.equals(transport)) {
ProjectPlanPurchaseTransport projectPlanPurchaseTransport = objectMapper.convertValue(value, ProjectPlanPurchaseTransport.class);
projectPlanPurchaseTransport.setTransportId(IdGenerator.UUID());
projectPlanPurchaseTransport.setCreateUser(UserSession.getUserId());
projectPlanPurchaseTransportMapper.insert(projectPlanPurchaseTransport);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM