¿Deserializar atributos del mismo nombre pero de diferentes tipos en Jackson?
Tengo una API REST que devuelve una respuesta JSON como:
{
"channel" : "JHBHS"
}
y a veces vuelve:
{
"channel": {
"id": 12321,
"name": "Some channel"
}
}
Tengo un POJO como:
public class Event {
private String channel;
@JsonProperty("channel")
private Channel channelObj;
}
public class Channel {
private int id;
private String name;
}
Entonces, ¿hay alguna manera (aparte de escribir la tuyadeserializador personalizado) enJackson2 lo que me ayudará a mapearchannel
en JSON aString
escribir cuando es unString
yChannel
escribir cuando es un objeto JSON?
O en otras palabras, ¿hay alguna manera en Jackson que mapee portype
de la variable y no solo porname
?