Deserialización polimórfica de JSON con jackson, tipo de propiedad se convierte en "null"

Estoy usando Jackson para convertir una cadena de Json grande en varias clases y subclases.

Tengo una lista de objetos, cada uno que contiene un objeto del nodo, un último objeto del resultado y un arsenal de los niños. El array children contiene una lista de objetos con exactamente la misma configuración. Esto continúa para 3 o 4 capas.

Cada nodo de capas es de una subclase diferente, que se extiende desde una superclase de nodos. He anotado el nodo de la superclase con las siguientes anotaciones:

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") @JsonSubTypes({ @JsonSubTypes.Type(value = Type1ResponseDto.class, name = "Type1"), @JsonSubTypes.Type(value = Type2ResponseDto.class, name = "Type2"), @JsonSubTypes.Type(value = Type3ResponseDto.class, name = "Type3"), @JsonSubTypes.Type(value = Type4ResponseDto.class, name = "Type4"), @JsonSubTypes.Type(value = Type5ResponseDto.class, name = "Type5") }) 

Esto parece funcionar, ya que todas las subclases se asignan.

Sin embargo, esto de alguna manera resulta en la propiedad "tipo" que se establece en null.

¿Alguna idea de por qué sucede esto?

Necesitaba añadir visible=true para que la propiedad type apareciera:

 @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "type",visible = true) @JsonSubTypes({ @JsonSubTypes.Type(value = Type1ResponseDto.class,name = "Type1"), @JsonSubTypes.Type(value = Type2ResponseDto.class, name = "Type2"), @JsonSubTypes.Type(value = Type3ResponseDto.class, name = "Type3"), @JsonSubTypes.Type(value = Type4ResponseDto.class, name = "Type4") }) 
  • android fondo blanco sin gradiente
  • Android Espresso IdlingPolicies.setIdlingResourceTimeout no funciona
  • Retrofit 2.0 beta1: cómo publicar cuerpo de cuerda cruda
  • Cómo medir el tiempo transcurrido
  • Acceso multiproceso y caché variable de subprocesos
  • Android y Javadoc: @inheritDoc no funciona
  • Cómo llamar a un json webservice a través de android
  • libGDX + com.google.android.gms: play-services: 7.0.0: android: dexDebug
  • NullPointerException al mostrar un ViewPager una segunda vez
  • La alineación vertical del texto del botón está desactivada en Android
  • Gradle Método DSL no encontrado: storeFile ()
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.