Обычно при полиморфной десериализации с Джексоном у меня есть строковое поле, которое сопоставляется с классом, и я могу сделать это следующим образом.
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "methodName")
@JsonSubTypes({
@JsonSubTypes.Type(value = MyFirstClass.class, name = "firstClassName"),
@JsonSubTypes.Type(value = MySecondClass.class, name = "secondClassName")})
Я не могу найти простого примера того, как это сделать, если значение является целым числом, а не строкой. Например, как мне выбрать класс для десериализации, если вместо «methodName»: «firstClassName» мой JSON включает «methodName»: 1?