java - Jackson 继承反序列化
问题描述
我有一个具有以下结构的类
Class A {
private String type;
private T entity;
}
而我的JSON结构是这样的
{"type":"Relation1","entity":"{..}"} --> entity should be Relation1.class
{"type":"Relation2","entity":"{..}"} --> entity should be Relation2.class
如何使用 Jackson deserilizaton 达到预期的效果?
解决方案
如果您在模型中使用继承,则无法获得如图所示的干净 json,因为 Jackson 无法反序列化 json。如果你想使用 Jackson,你必须配置 ObjectMapper:
ObjectMapper mapper = new ObjectMapper();
mapper.enableDefaultTyping();
然后您将获得一个包含反序列化过程所需的 T 类名称的 Json。
在这里您可以找到完整的指南:指南
推荐阅读
- flutter - Flutter removeWhere(...) 挂起列表
- r - 如何处理 R 中 lm(x~y) 函数中的负值?
- kubernetes - 更新运行 pod 的 pod 配置
- php - 在php中使用sql查询中的变量
- python - sklearn.compose.make_column_transformer():在一个数据帧列上一步使用 SimpleImputer() 和 OneHotEncoder()
- javascript - 如何将 maxlength 设置为 HTML“td”标签(单元格)?
- selenium-webdriver - 如何在 selenium Webdriver 中使用不同的浏览器(Chrome)语言并行运行案例?
- c# - 抬头时如何阻止我的播放器向上移动
- kubernetes - Kubernetes 上的 Greenplum
- python - 删除从类中添加的精灵