Tengo tipos polimórficos y deserialización de obras de JSON a POJO. Seguí la documentación here, de hecho. Al serializar POJOs en JSON obtengo un atributo no deseado, específicamente el nombre de tipo lógico.¿Cómo puedo evitar que Jackson serialice una propiedad de anotación de tipo polimórfico?
import static org.codehaus.jackson.annotate.JsonTypeInfo.*;
@JsonTypeInfo(use=Id.NAME, include=As.PROPERTY, property="type")
@JsonSubTypes({
@JsonSubTypes.Type(value=Dog.class, name="dog"),
@JsonSubTypes.Type(value=Cat.class, name="cat")
})
public class Animal { ... }
public class Dog extends Animal { ... }
public class Cat extends Animal { ... }
Cuando Jackson se serializa en JSON, proporciona la información de tipo que no quiero exponer.
{"type":"dog", ... }
{"type":"cat", ... }
¿Puedo evitar esto de alguna manera? Solo quiero ignorar type
al deserializar.
Usted dijo: "Solo quiero ignorar el tipo cuando deserializo". ¿En su lugar, quiso decir "solo quiero ignorar el tipo al serializar"? –
Estoy impresionado de que hayas podido descifrar esto de la documentación. No hay un solo ejemplo de uso de '@ JsonSubTypes' en esa página wiki. –