从Jackson 2.5.0移植到2.9.5或2.7.0时,json枚举响应未按预期进行

时间:2018-10-05 04:06:22

标签: java json enums jackson

我有一个Java响应类,它的响应是通过Web传递给JSON的。直到Jackson 2.5.0,所有Enums都带有它的字符串值,但是在2.9.5(2.7.0及更高版本)中,json响应采用Enum Name(无论哪种情况)。 IN Jackson 2.5.0响应:CInfo枚举=> userid以小写形式出现,它是字符串值,但是从2.7.0开始,它是以大写形式出现(作为Enum Field的名称,不是字符串值)。如何通过不更改java CInfo.java来解决此问题。

Java响应类包含枚举。

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响应包含“ userid” 但是2.7.0 Json Response包含“ USERID”

0 个答案:

没有答案