development

Gson으로 열거 형 직렬화 및 역 직렬화

big-blog 2020. 12. 27. 20:40
반응형

Gson으로 열거 형 직렬화 및 역 직렬화


이 질문에 이미 답변이 있습니다.

gson 2.2.4를 사용하여 이와 같은 간단한 열거 형을 직렬화 및 역 직렬화하려면 어떻게해야합니까?

public enum Color {

    RED, BLUE, YELLOW;
}

Gson API 문서 에 따르면 Gson은의 기본 직렬화 / 역 직렬화를 제공 Enum하므로 기본적으로 다른 유형과 마찬가지로 표준 toJsonfromJson메서드를 사용하여 직렬화 및 역 직렬화해야합니다 .


이것을 시도 할 수 있습니다.

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

참조 URL : https://stackoverflow.com/questions/16740078/serialize-and-deserialize-enum-with-gson

반응형