用Gson序列化和反序列化枚举

我如何序列化和反序列化这样一个简单的枚举与gson 2.2.4?

public enum Color { RED, BLUE, YELLOW; } 

根据Gson API文档 ,Gson提供了Enum默认序列化/反序列化,所以基本上它应该使用标准的toJsonfromJson方法进行序列化和反序列化,就像任何其他types一样。

你可以试试这个

 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; } } 

这工作正常,不知道从哪个版本的GSON,虽然:

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