我有以下测试代码:
Model model = new Model();
model.setName("Alex");
model.setAddress("NY");
Map<Object, Object> attrs = new HashMap<>();
attrs.put("address", "London");
我需要仅使用 attrs
Map
中的值来修补我现有的 model
对象。
因此,在执行代码后,我需要具有具有以下值的现有 model
对象:
name: Alex
address: London
是否可以使用 Jackson
库来实现?如果是,请举例说明。
最佳答案
Jackson 绝对可以做到。作为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);
关于java - map 上的 jackson 补丁对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44101109/