¿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?

Respuestas a la pregunta(1)

Su respuesta a la pregunta