У меня есть следующий класс:
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
Есть предположения?