Desserializando atributos de mesmo nome, mas tipos diferentes em Jackson?

Eu tenho uma API REST que retorna uma resposta JSON como:

{
    "channel" : "JHBHS"
}

e às vezes retorna:

{
    "channel": {
                    "id": 12321,
                    "name": "Some channel"
               }
}

Eu tenho um POJO como:

public class Event {
    private String channel;
    @JsonProperty("channel")
    private Channel channelObj;
}

public class Channel {
    private int id;
    private String name;
}

Então, existe uma maneira (além de escrever sua própriadesserializador personalizado) noJackson2 o que me ajudará a mapearchannel em JSON paraString digite quando é umString eChannel digitar quando é um objeto JSON?

Ou, em outras palavras, existe uma maneira em Jackson que mapeia portype da variável e não apenas porname?

questionAnswers(1)

yourAnswerToTheQuestion