Перечисления имеют числовые порядковые номера , начиная с нуля, и присваиваются каждому значению в перечислении в том порядке, в котором они были объявлены.Например, в вашем коде Active
имеет порядковый номер 0
, а Inactive
имеет порядковый номер 1
.Вы можете переходить между значением enum и его порядковым номером, как это:
// ordinal=0, since Active was declared first in the enum
int ordinal = Status.Active.ordinal();
// enumVal=Active, since 0 is the ordinal corresponding to Active
Status enumVal = Status.values()[0];
Очевидно, что порядковый номер 1
соответствует Inactive
(это не проблема Джексона), как объяснено выше., порядковые числа в перечислении начинаются с нуля.Возможно, вам следует исправить свой код, чтобы отразить это, и убедиться, что {status:0}
означает Status.Active
.