Подтвердить что ты не робот

Сериализовать и десериализовать enum с помощью Gson

Как я могу сериализовать и десериализовать простой enum, как это, с помощью gson 2.2.4?

public enum Color {

    RED, BLUE, YELLOW;
}
4b9b3361

Ответ 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);
    }
}