我有以下测试代码:
Model model = new Model();
model.setName("Alex");
model.setAddress("NY");
Map<Object, Object> attrs = new HashMap<>();
attrs.put("address", "London");
我需要使用model
attrs
中的值修补现有的Map
对象。
所以,在执行代码之后,我需要使用具有以下值的现有model
对象:
name: Alex
address: London
是否可以使用Jackson
库实现?如果是,请举个例子。
答案 0 :(得分:1)
杰克逊绝对可以实现。如mentioned by yshavit,以下内容将起到作用:
ObjectMapper mapper = new ObjectMapper();
// Convert POJO to Map
Map<String, Object> modelAsMap =
mapper.convertValue(model, new TypeReference<Map<String, Object>>() {});
// Merge maps
modelAsMap.putAll(attrs);
// Convert Map to POJO
Model modelPatched = mapper.convertValue(modelAsMap, Model.class);