Java Jackson面片对象映射

Java Jackson面片对象映射,java,jackson,Java,Jackson,我有以下测试代码: Model model = new Model(); model.setName("Alex"); model.setAddress("NY"); Map<Object, Object> attrs = new HashMap<>(); attrs.put("address", "London"); 是否可以使用Jackson库实现?如果是这样,请举一个例子。这肯定可以通过Jackson实现。如图所示,以下内容将实现此目的: ObjectMappe

我有以下测试代码:

Model model = new Model();
model.setName("Alex");
model.setAddress("NY");

Map<Object, Object> attrs = new HashMap<>();
attrs.put("address", "London");

是否可以使用
Jackson
库实现?如果是这样,请举一个例子。

这肯定可以通过Jackson实现。如图所示,以下内容将实现此目的:

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);
ObjectMapper mapper=new ObjectMapper();
//将POJO转换为映射
映射模型映射=
convertValue(model,newtypereference(){});
//合并地图
modelAsMap.putAll(attrs);
//将地图转换为POJO
modelmodelpatched=mapper.convertValue(modelAsMap,Model.class);

有关将POJO映射到a以及将POJO映射到a的更多详细信息,请参阅此。

Convert
model
到映射,putAll,Convert back。这还没有到位,但会起作用的。
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);