Ho un DTO come questo:È possibile serializzare/deserializzare JSON in DTO Java con campi aggiuntivi che entrano in una mappa?
public Foo {
public int bar = 123;
public Map<String, Object> params; // key1=v1, key2=v2 etc.
}
vorrei che serializzare da/per la seguente JSON:
{
"bar": 123,
"key1": "v1",
"key2": "v2"
}
Qualcuno sa come fare questo usando Jackson o Genson? Fondamentalmente voglio le conversioni di tipo automatico per i campi dichiarati nel DTO ma tutti gli "extra" per andare nella mappa dei parametri.
utilizzando l'API di streaming di Jackson e una classe Builder per 'foo', sì, è possibile. Credo che Jackson abbia persino la possibilità di ingoiare "il resto" dei membri non mappati in un 'Map', tuttavia non l'ho mai usato ... –
fge
potresti provare anche gson (ma funziona per la versione draft3) – Chris
@David: Sono curioso del tuo caso d'uso che richiede quel tipo di struttura JSON. Cosa succede se 'params' ha una chiave con il nome' bar'? – nadirsaghar