将JSON反序列化为Java枚举

将JSON反序列化为Java枚举,java,android,json,Java,Android,Json,我在Android上有以下Java枚举,我希望能够将传入JSON字符串/对象中的整数反序列化到该枚举类型中。我一直在点击Jackson和GSON,但在我使用的JSON.org包上什么都没有 有没有一种简单的方法可以做到这一点,或者我需要修改JSON解码器?谢谢 public enum ValueEnum { ONE(1), TWO(2), THREE(3); private int value; private ValueEnum(int value

我在Android上有以下Java枚举,我希望能够将传入JSON字符串/对象中的整数反序列化到该枚举类型中。我一直在点击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;
    }   
}
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;
    }