CosminO:
Teniendo en cuenta esta estructura, lo que es la notación correcta para obtener la matriz de objetos (propiedad, campos de tipo) en el interior de la propiedad de los padres.
{"parent":
[
{"property":[2,5],"type":2},
{"property":[1,2],"type":1},
{"property":[4,0],"type":0}
],
"prop2":"something"
}
Actualmente las miradas Java, como
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Parent{
<WHAT TO PUT HERE??>
List<PropertyTypeObj> propertyTypes;
}
Esto es parte de algo más grande, como:
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Container{
@JsonProperty("parent")
List<Parent> parent;
@JsonProperty("prop2")
String prop2
}
La solución fue la creación de derivación del elemento padre y en su lugar utilizar el PropertyTypeObject propio
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Container{
@JsonProperty("parent")
List<PropertyTypeObject> properties;
@JsonProperty("prop2")
String prop2
}
Y especifique el PropertyTypeObject como tener @JsonRootName("parent")
Véase la respuesta aprobada para mayor claridad.
David Lorenzo MARINO:
Una estructura de clase posible es la siguiente:
public class External {
private List<External.Internal> parent;
private String prop2;
@JsonRootName("parent")
public static class Internal {
private List<Integer> property;
private Integer type;
}
}
donde la clase externa tiene:
- una matriz propiedad que es una lista (array en el JSON) de elementos interiores
- prop 2 propiedades de tipo String
y una clase interna que tiene para cada elemento:
- una propiedad característica de tipo List (matriz en JSON) de enteros
- un tipo de propiedad de tipo entero