2015-10-23 5 views
5

Desidero deserializzare una stringa JSON che contiene un valore null in Java. Voglio deserializzare l'oggetto su un oggetto Properties. La stringa JSON è qualcosa di simile:Gson ignora null quando deserializza l'oggetto

{"prop1":null, "propr2":"fancy value"} 

Quando ho deserializzare utilizza

String json = // 
new Gson().fromJson(json, Properties.class); 

ottengo un'eccezione di puntatore nullo a causa della Hastable che nell'oggetto Properties. Come posso istruire Gson a ignorare la deserializzazione dei valori nulli?

+0

Sto avendo lo stesso problema, anche con un deserializzatore personalizzato. Posso controllare i valori nulli ma sono molti i controlli. Qualcosa nell'API che puoi usare per verificare se esiste una proprietà e che il valore non è nullo? – lostintranslation

+0

A volte penso che sarebbe più semplice fornire un'estensione di Proprietà. –

risposta

-4

Vedi http://sites.google.com/site/gson/gson-user-guide#TOC-Null-Object-Support:

Gson gson = new GsonBuilder().serializeNulls().create();

+0

Questo è per la serializzazione. Devo deserializzare –

+0

Ho visto che è per la serializzazione, ma immagino che anche la deserializzazione funzionerà. Supponendo che Gson produca qualcosa che potrebbe nuovamente deserializzare. –