2010-10-13 7 views
88
Gson gson = new Gson(); 

Map<String,Object> map = new HashMap<String, Object>(); 
map.put("a", 1); 
map.put("b", null); 

System.out.println(gson.toJson(map)); //prints {"a":1} 

Wie bekomme ich es, alle Einträge aufzunehmen?Gson ignorieren Karteneinträge mit Wert = null

Antwort

215

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

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

Das Handbuch sollte für die Suche mehr optimiert werden. Ich werde nicht alles lesen, wenn ich eine kleine Menge an Kunststücken verwende. Dies war das erste Ergebnis bei Google. Mein Problem wurde behoben. –

+1

@MathijsSegers Einige der fantastischen Bibliotheken sind ohne Dokumentation. Haben so viel Mühe, ihren Quellcode durchzugehen (der wieder mit vielen Erbauermustern und allem ist). – pinkpanther

+7

@MathijsSegers Und das ist die Schönheit von SO und Google. Ich kann google "gson ignoriere null" googlen und finde diese Antwort in 3 Sekunden, anstatt das Handbuch und eine Antwort darin finden zu müssen. – joshden