我在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;
}
关于java - 将JSON反序列化为Java枚举,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12692081/