Сериализовать и десериализовать enum с помощью Gson
Как я могу сериализовать и десериализовать простой enum, как это, с помощью gson 2.2.4?
public enum Color {
RED, BLUE, YELLOW;
}
Ответ 1
Согласно документации API Gson, Gson предоставляет сериализацию/десериализацию по умолчанию Enum, поэтому в основном это должно сериализоваться и десериализоваться с использованием стандартных методов toJson и fromJson, как и для любого другого типа.
Ответ 2
Вы можете попробовать это.
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;
}
}
Ответ 3
Это прекрасно работает, не знаю, из какой версии 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);
}
}