Tengo el siguiente JSON:¿Cómo puedo serializar este JSON utilizando las anotaciones de Jackson?
{
fields : {
"foo" : "foovalue",
"bar" : "barvalue"
}
}
me escribió un POJO de la siguiente manera:
public class MyPojo {
@JsonProperty("fields")
private List<Field> fields;
static class Field {
@JsonProperty("foo") private String foo;
@JsonProperty("bar") private String bar;
//Getters and setters for those 2
}
Esta falla, obviamente, porque mi campo JSON "campos" es un HashMap, y no una lista.
Mi pregunta es: ¿hay alguna anotación "mágica" que pueda hacer que Jackson reconozca las claves del mapa como nombres de propiedades pojo y asigne los valores del mapa a los valores de las propiedades pojo?
PS: Realmente no quiero tener mis campos de objeto como ...
private Map<String, String> fields;
... porque en mi JSON-mundo real que tengo objetos complejos en los valores de mapa, no sólo cuerdas ...
Gracias ;-)
Philippe
Además, cuando trato de serializar esos mapas, obtengo: Error de E/S: No se puede deserializar la instancia de java.lang.String fuera del token START_OBJECT – Philippe