微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将JSON反序列化为Java枚举

如何解决将JSON反序列化为Java枚举

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

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。