У меня есть десериализатор для MyObject
, расширяющий StdDeserializer<MyObject>
. В своем deserialize(JsonParser p, DeserializationContext ctxt)
я хотел бы преобразовать подузел узла, который десериализуем, в список pojos. Учитывая json как
{
"property1" : "value1",
...
"subnode" : [
{
"snProperty1" : "value1",
"snProperty2" : "value2",
...
"snPropertyN" : "valueN"
},
{ ... }, // other elements like the one above
{ ... }
],
...
}
и pojos
class Subnode {
private String snProperty1;
private String snProperty2;
...
private Stirng snPropertyN;
// getters and setters
}
class MyObject {
private String property1;
...
private List<Subnode> subnodes;
// getters and setters
}
Я хочу, чтобы десериализатор обрабатывал все объекты Subnode
без повторения и использования Subnode
сеттеров самостоятельно. Что-то похожее на TypeReference
s и ObjectMapper
.
Единственный способ создать экземпляр ObjectMapper
для выполнения вышеуказанного? Как например
objectMapper.convertValue(subnode, new TypeReference<List<Subnode>>() {});