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

我如何使用gson 2.2.4序列化和反序列化像这样的简单枚举?

public enum Color {

    RED, BLUE, YELLOW;
}

答案 1

你可以试试这个。

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

}

答案 2

根据 Gson API 文档,Gson 提供了 的默认序列化/反序列化,因此基本上应该使用标准和方法对其进行序列化和反序列化,就像任何其他类型一样。EnumtoJsonfromJson