Map<String,Object> 通过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);
}

原文地址:https://www.cnblogs.com/gslgb/p/13746742.html