2015-07-28 9 views
5

Ich habe folgende Pojo Klasse mit einem Feld transient:Gson deserialisieren und serialisiert transiente Feld

public class User implements Serializable { 

    public static final long serialVersionUID = 1L; 
    public String name; 
    transient public UserSession[] bookings; 
} 

Ich möchte die transiente eingereicht serialisiert und mit Gson Bibliothek deserialisiert werden, wollen aber nicht die eingereicht am Datei serialisiert werden . Wie kann ich es erreichen?

+0

Wie wäre es mit einem benutzerdefinierten Serializer zum Serialisieren Ihrer Klasse? –

Antwort

14

Wie bereits erwähnt in the documentation:

standardmäßig, wenn Sie ein Feld als vorübergehende markieren, wird es ausgeschlossen. Wenn ein Feld als "statisch" markiert ist, wird es standardmäßig ausgeschlossen. Wenn Sie einige vorübergehende Felder einfügen möchten, können Sie Folgendes tun:

import java.lang.reflect.Modifier;

Gson gson = neuer GsonBuilder() .excludeFieldsWithModifiers (Modifier.STATIC) .create();

Welche static Felder aus Gson Serialisierung, aber nicht transient und volatile diejenigen ausschließen.

+1

Danke, habe die Dokumentation nicht gelesen! –

Verwandte Themen