【Java】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);
}