I have a common class
public CommonClass {
private Enum<?> field1;
private String field2;
private String field3;
private Map<? extends Enum<?>, Map<String, Object>> map;
// constructor, getters setters
}
And two enums
public enum A {
FIELD,
VALUE
}
public enum B {
ENUM1,
ENUM1
}
And json to parse in it class
{
"field1": "FIELD",
"field2": "field2",
"field3": "field2",
"map": {
"ENUM1": {
// some inner data
},
"ENUM2":{
// some inner data
}
}
}
When I try to parse this JSON to an object I got an exception
java.lang.IllegalArgumentException: No enum constants for class java.lang.Enum
This exception occurs when Jackson tried to deserialize "ENUM1" which is a ? extends Enum<?> to B
When I debug it, Jackson thought that this property is simple type.
Is any suggestion why it doesn't work?