2015-10-23 18 views
5

Chcę deserializować ciąg json zawierający wartość pustą w Javie. Chcę deserializować obiekt do obiektu Properties. Ciąg JSON jest coś takiego:Gson ignoruje wartość NULL przy deserializacji obiektu

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

Kiedy deserializowania użyciu

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

otrzymuję wyjątku null pointer powodu Hastable że do obiektu Properties. Jak mogę nakazać Gsonowi zignorowanie deserializacji wartości null?

+0

Mam ten sam problem, nawet z niestandardowych Deserializatora. Mogę i nie sprawdzam wartości zerowych, ale jest to wiele sprawdzeń. Wszystko w interfejsie API, które można użyć do sprawdzenia, czy właściwość istnieje i czy wartość nie jest zerowa? – lostintranslation

+0

Czasami myślę, że łatwiej byłoby zapewnić rozszerzenie właściwości. –

Odpowiedz

-4

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

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

+0

To jest do serializacji. Muszę deserializować –

+0

Widziałem, że to do serializacji, ale myślę, że również deserialize będzie działać. Zakładając, że gson produkuje coś, co może ponownie przekształcić w postać. –

Powiązane problemy