java - 杰克逊:反序列化地图自定义嵌套 Pojo
问题描述
我有一个简单的Map<String,String>
,我想将它反序列化为带有一些内部嵌套类的 Pojo。
地图示例: Map = ["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;
推荐阅读
- favicon - 小书签的自定义图标
- python - 我试图找到这个按钮,每个玩家都有一个单独的按钮。有没有我可以用来调用每个玩家的代码,它是可互换的
- c# - Windows Server 2019 上的错误 Office.Interop.Word
- html - 为什么 CSS 自定义标签会导致 Angular 错误
- c# - 错误某些服务无法构建(验证服务描述符时出错)
- python - Python:遍历 ndarray 并保存图像
- xml - 如何检查xml文件中节点的值是否总是使用xsl/xslt从另一个修复节点的值中获取?
- button - Bootstrap 5 响应式按钮放置。如何?
- python - Poppler 安装 Anaconda 问题
- bash - Standford moss - 文本扩展不能作为输入