【发布时间】:2020-11-03 15:54:08
【问题描述】:
我有一个共同的班级
public CommonClass {
private Enum<?> field1;
private String field2;
private String field3;
private Map<? extends Enum<?>, Map<String, Object>> map;
// constructor, getters setters
}
还有两个枚举
public enum A {
FIELD,
VALUE
}
public enum B {
ENUM1,
ENUM1
}
并在它的类中解析json
{
"field1": "FIELD",
"field2": "field2",
"field3": "field2",
"map": {
"ENUM1": {
// some inner data
},
"ENUM2":{
// some inner data
}
}
}
当我尝试将此 JSON 解析为一个对象时,我遇到了一个异常
java.lang.IllegalArgumentException: No enum constants for class java.lang.Enum
当 Jackson 尝试反序列化 的“ENUM1”时会发生此异常?将 Enum> 扩展到 B
当我调试它时,Jackson 认为这个属性是简单类型。
有什么建议为什么它不起作用?
【问题讨论】:
标签: java json jackson jackson-databind