7

我在 Android 上的 Java 中有以下枚举,我希望能够将传入的 JSON 字符串/对象中的整数反序列化为此 Enum 类型。我在 Jackson 和 GSON 上一直很受欢迎,但在我正在使用的 JSON.org 包上却一无所获。

有没有一种简单的方法可以做到这一点,还是我需要更改 JSON 解码器?谢谢。

public enum ValueEnum {

    ONE(1),
    TWO(2),
    THREE(3);

    private int value;

    private ValueEnum(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }   
}
4

1 回答 1

8

ValueEnum.values()将返回您的 ValueEnum[] 数组,然后您可以遍历数组并检查Value

public static ValueEnum valueOf(int value) {
        ValueEnum[] valueEnums = ValueEnum.values();
        for (ValueEnum valueEnum : valueEnums) {
            if (valueEnum.getValue() == value)
            {
                return valueEnum;
            }
        }
        return DEFAULT;
    }
于 2012-10-02T14:21:14.223 回答