【发布时间】:2020-07-27 06:16:13
【问题描述】:
我有一个奇怪的 json 数组字符串:
[
{
"schema": "Cancel",
"version": "1.0.0"
},
{
"mandatory": true,
"id": "uuid"
}
]
它看起来像它的两个不同对象的数组,例如:
class Object1 {
private String schema;
private String version;
}
和
class Object2{
private boolean mandatory;
private String id;
}
当我调用 Spring Rest 模板时:
restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(), ObjectFull[].class)
.getBody();
其中 ObjectFull 是包含来自前两个对象(Object1、Object2)的字段的对象。
我得到两个对象的数组。第一个有一些字段,第二个有其他字段。 一切正常。
但是我发现使用 objectFull[0].getSchema() 构建响应不够好。
是否有任何选项可以通过使用 Jackson 注释将这两个对象组合成一个彻底的反序列化过程?
而不是ObjectFull[] 的两个元素数组得到所有字段的简单ObjectFull?
【问题讨论】:
-
情况太奇怪了,我认为您需要实现自定义反序列化器。如果您不想这样做,则需要将其反序列化为
Map对象的列表/数组,并使用 updateValue 方法将列表合并到预期对象。请让我知道您是否需要有关此或某些示例的帮助。
标签: java spring jackson deserialization