用Gson序列化和反序列化枚举
我如何序列化和反序列化这样一个简单的枚举与gson 2.2.4?
public enum Color { RED, BLUE, YELLOW; }
根据Gson API文档 ,Gson提供了Enum
默认序列化/反序列化,所以基本上它应该使用标准的toJson
和fromJson
方法进行序列化和反序列化,就像任何其他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); } }