Я пытаюсь десериализовать объект JSON в объект Java, используя аннотацию Джексона для одного класса Abstact «Животное»:
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
@JsonSubTypes({@Type(value = Dog.class, name = "chien"),
@Type(value = Cat.class, name= "chat")})
и вот пример строки JSON:
{
"name": "Chihuahua",
"type": {
"code": "chien",
"description": "Chien mechant"
}
}
Проблема в том, что свойство «тип» в объекте JSON также является объектом. когда я пытаюсь десериализовать, у меня есть это исключение:
Caused by: org.codehaus.jackson.map.JsonMappingException: Could not resolve type id '{' into a subtype of [simple type, class Animal]
Я пытался использовать «type.code» как значение «свойства», но ничего. Исключение это
Caused by: org.codehaus.jackson.map.JsonMappingException: Unexpected token (END_OBJECT), expected FIELD_NAME: missing property 'type.code' that is to contain type id (for class Animal)
Любая идея, что не так. Спасибо.