杰克逊:将映射<字符串,对象>反序列化为自定义嵌套的Pojo



我有一个简单的Map<String,String>,我想将其反序列化为具有一些内部嵌套类的Pojo。

地图示例: 映射 = ["fname"="test", "lname"="test"]

Pojo 代码片段:

class CustomPojo {
private Username username;
static class Username {
private String fname;
private String lname;
@JsonCreator
public Username(@JsonProperty("fname") String fname, 
@JsonProperty("lname") String lname) {
this.fname = fname;
this.lname = lname;
}
}

电话代码:

CustomPojo pojo = new ObjectMapper().convert(map, CustomPojo.class);

它失败,因为它在映射中没有任何"用户名"映射。

有没有一种仅使用注释来解决此问题的好方法?

使用@JsonUnwrapped注释:

@JsonUnwrapped
private Username username;

最新更新