将JSON反序列化为Java枚举

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

}

}

回答:

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;

}

以上是 将JSON反序列化为Java枚举 的全部内容, 来源链接: utcz.com/qa/416258.html

回到顶部