sérialiser et désérialiser enum avec Gson

Comment puis-je sérialiser et désérialiser un tel enum avec gson 2.2.4?

public enum Color { RED, BLUE, YELLOW; } 

Selon la documentation de l’API Gson , Gson fournit une sérialisation / désérialisation par défaut de Enum , il doit donc être sérialisé et désérialisé en utilisant les toJson standard toJson et fromJson , comme avec tout autre type.

Vous pouvez essayer ceci.

 import com.google.gson.annotations.SerializedName; public enum Color { @SerializedName("0") RED (0), @SerializedName("1") BLUE (1), @SerializedName("2") YELLOW (2); private final int value; public int getValue() { return value; } private Color(int value) { this.value = value; } } 

Cela fonctionne bien aussi, ne sais pas de quelle version de GSON cependant:

 public enum OrderLineTimeRegistrationStatus { None(0), Started(1), Paused(2); private int value; private OrderLineTimeRegistrationStatus(int value) { this.value=value; } public int getValue() { return(value); } }