Ich versuche, eine Möglichkeit zu finden, die polymorphe Deserialisierung von jackson in einer Weise zu verwenden, dass es mein Objekt basierend auf einer Eigenschaft, die in Header verschachtelt ist deserialize/Steuerobjekt:Jackson polymorphe Deserialisierung mit Typ-Eigenschaft, die in Objekt geschachtelt ist
JSON 1 - CATEGORY1:
{
"id":"someId",
"header":{
"category":"CATEGORY1",
"somOtherProperty":"someValue"
}
"nextField":"nextValue",
...
}
JSON 2 - CATEGORY2
{
"id":"someId",
"header":{
"category":"CATEGORY2",
"somOtherProperty":"someValue"
}
"nextField":"nextValue",
...
}
Geordnete Klasse (Anmerkungen so etwas wie dieses)
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "category")
@JsonSubTypes({
@Type(value = Category1Class.class, name = "CATEGORY1"),
@Type(value = Category2Class.class, name = "CATEGORY2") })
public class ParentClass{
private Header header;
private String nextField;
...
}
public class Header{
private String category;
private String somOtherProperty;
...
}
Kinderklassen
@JsonTypeName("CATEGORY1")
public class Category1Class extends ParentClass{
...
}
@JsonTypeName("CATEGORY2")
public class Category2Class extends ParentClass{
...
}
ein aus der Box Funktionalität in Jackson ist es, die mir ermöglichen würde, diese Art von Deserialisierung zu tun, oder ich etwas fehle?
sehen https://www.thomaskeller.biz/blog/2013/09/10/custom -polymorphe Art-Handhabung-mit-Jackson / –