gpt4 book ai didi

java - @JsonProperty 在枚举中被忽略

转载 作者:行者123 更新时间:2023-12-02 09:50:01 27 4
gpt4 key购买 nike

我有一个简单的枚举,它具有 OK 和 FAULT 属性。当使用 @JsonProperty 注释将其作为 Json 对象返回时,我尝试以小写形式返回该值。首先我认为是因为我将 java.xmlbind.annotation 与 com.fasterxml 混合在一起才是问题所在,但删除 java.xmlbind 后它仍然不起作用。

使用此枚举的对象在 json 请求中始终显示 OK 或 FAULT,而不是像请求 XML 时那样显示 ok 和 failure。

使用 Jackson 2.5.x

任何见解或建议将不胜感激。

import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;

import com.fasterxml.jackson.annotation.JsonProperty;

/**
*
*/
@XmlEnum
public enum RequestStatusType {
/**
* Generic server A-OK ;)
*/
@XmlEnumValue(value="ok")
@JsonProperty(value="ok")
OK,

/**
* Generic unknown server fault
*/
@XmlEnumValue(value="fault")
@JsonProperty(value="fault")
FAULT;

/**
* Returns a RequestStatusType based on the string passed in
* @param requestStatusType the requestStatusType to get
*/
public static RequestStatusType getRequestStatus (String requestStatusTypeStr) {
try {
return valueOf( requestStatusTypeStr.toUpperCase() );
} catch (Exception e) {
return null;
}
}

/* (non-Javadoc)
* @see java.lang.Enum#toString()
*/
@Override
public String toString() {
return super.toString().toLowerCase();
}
}

最佳答案

您需要检查您的 Jackson 版本。您的方式仅适用于 Jackson 2.7.2 或更高版本。请引用When is the @JsonProperty property used and what is it used for? 。希望能帮到您。

关于java - @JsonProperty 在枚举中被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56385678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com