Java jackson mapper版本1.9.12枚举反序列化程序问题

Java jackson mapper版本1.9.12枚举反序列化程序问题,java,javascript,json,spring-mvc,jackson,Java,Javascript,Json,Spring Mvc,Jackson,我正在尝试使用Jackson ObjectMapper.readValue(String,Class)API将字符串映射到enum对象,问题是假设我的json字符串包含一个带有动作enum的任务对象,如下所示 公开枚举操作{ @XmlEnumValue("Add") ADD("Add"), @XmlEnumValue("Amend") AMEND("Amend"), @XmlEnumValue("Delete") DELETE("Delete"), @XmlEnumValue("Pending"

我正在尝试使用Jackson ObjectMapper.readValue(String,Class)API将字符串映射到enum对象,问题是假设我的json字符串包含一个带有动作enum的任务对象,如下所示

公开枚举操作{

@XmlEnumValue("Add")
ADD("Add"),
@XmlEnumValue("Amend")
AMEND("Amend"),
@XmlEnumValue("Delete")
DELETE("Delete"),
@XmlEnumValue("Pending")
PENDING("Pending");
private final String value;

Action(String v) {
    value = v;
}

public String value() {
    return value;
}

public static Action fromValue(String v) {
    for (Action c: Action.values()) {
        if (c.value.equals(v)) {
            return c;
        }
    }
    throw new IllegalArgumentException(v);
}
}

jason字符串类似于“{”action:“Add”}”,然后抛出ObjectMapper.readValue(jsonString,Task.Class)

Action Add的org.codehaus.jackson.map.desr.StdDeserializationContext.weirdStringException(StdDeserializationContext.java:243),因为它无法转换此枚举

我尝试添加自定义序列化程序,但仍然调用了EnumDeserializer。有什么想法吗

所有对象都是JAXB生成的,因此不可能进行注释

感谢您的帮助

您是否尝试过:

new ObjectMapper().setAnnotationIntrospector(new JaxbAnnotationIntrospector()).readValue()