我有以下课程:
public class Some implements Map<String, Object>{
private Map<String, Object> innerMap;
//implementation that can only set innerMap in constructor and cannot add or remove values
}
问题是我无法在杰克逊中正确反序列化它。如果我在没有默认类型的情况下进行序列化,那没关系,因为它被序列化为 {"one":"two"} 并正确反序列化(我必须使用
return new Some(jp.readValueAs(new TypeReference<HashMap<String,Object>>(){}));
当我使用打开的默认类型时,这被序列化为
["com.class.Some",{"one":"two"}]
但是反序列化正在抛出
com.fasterxml.jackson.databind.JsonMappingException: Unexpected token (START_OBJECT), expected START_ARRAY: need JSON Array to contain As.WRAPPER_ARRAY type information for class java.util.HashMap
有什么想法吗?