2015-07-28 22 views
5

Ho seguito Pojo classe con un campo transitorio:GSON deserializzare e serializzare campo transitoria

public class User implements Serializable { 

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

voglio il transitorio archiviato essere serializzato e deserializzato con biblioteca GSON ma non vogliono il archiviato per essere serializzato su File . Come posso ottenerlo?

+0

Come creare un serializzatore personalizzato per serializzare la classe? –

risposta

14

Come dichiarato in the documentation:

Per impostazione predefinita, se si contrassegna un campo come transitoria, verrà escluso. Inoltre, se un campo è contrassegnato come "statico", per impostazione predefinita verrà escluso. Se si desidera includere alcuni campi transitori, è possibile effettuare le seguenti operazioni:

import java.lang.reflect.Modifier;

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

che escluderà static campi da GSON serializzazione, ma non transient e volatile quelli.

+1

Grazie, non ho letto la documentazione! –

Problemi correlati