java json jackson genson

implements serializable java



¿Es posible serializar/deserializar JSON a Java DTO con campos adicionales yendo a un mapa? (1)

Gracias @fge por ponerme en el camino correcto. Jackson tiene anotaciones de @JsonAnySetter y @JsonAnyGetter que se pueden usar para hacer esto:

public Foo { public int bar; private transient Map<String, Object> params = new HashMap<String, Object>(); @JsonAnySetter public void set(String k, Object v) { params.put(k, v); } @JsonAnyGetter public Map getParams() { return params; } }

Tengo un DTO como este:

public Foo { public int bar = 123; public Map<String, Object> params; // key1=v1, key2=v2 etc. }

Me gustaría serializar a / desde el siguiente JSON:

{ "bar": 123, "key1": "v1", "key2": "v2" }

¿Alguien sabe cómo hacer esto usando Jackson o Genson? Básicamente quiero conversiones de tipo automáticas para los campos declarados en el DTO pero cualquier "extra" para ir al mapa de parámetros.