При портировании с Jackson 2.5.0 на 2.9.5 или 2.7.0 отклик json enum не приходит должным образом - PullRequest
0 голосов
/ 05 октября 2018

У меня есть Java Response Class, его ответ передается JSON через Интернет.До Джексона 2.5.0 все Enums идут со своим строковым значением, но в 2.9.5 (начиная с 2.7.0) ответ json принимает Enum Name, какой бы ни был задан регистр.IN Jackson 2.5.0 Ответ: CInfo enum => userid идет в нижнем регистре - это строковое значение, а с 2.7.0 - в UPPERCASE (как имя поля Enum, а не как строковое значение).Как решить эту проблему, не меняя java CInfo.java.

Класс Java Response содержит Enum.

public class LogResponse  {

private CInfo idInfo;

public CInfo getInfo() {
return idInfo;
}

}
===============
public class CInfo {
public static Enum KeyFields {
  USERID("userid");
        private String value;

        KeyFields(final String aStringValue) {
            value= aStringValue;
        }

        public String toString() {
            return value;
        }
}
}

2.5.0 Json Response содержит "идентификатор пользователя", но 2.7.0 JsonОтвет содержит «USERID»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...