[英]Deserialize JSON to Java enum
I have the following enumeration in Java on Android and I would like to be able to deserialize an integer in an incoming JSON string/object into this Enum type. 我在Android上的Java中有以下枚举,我希望能够将传入的JSON字符串/对象中的整数反序列化为此枚举类型。 I have been getting hits on Jackson and GSON but nothing on the JSON.org package, which I am using. 我一直在杰克逊和GSON上点击,但我正在使用的JSON.org软件包上没有任何内容。
Is there an easy way to do this or do I need to alter the JSON decoder? 有没有一种简单的方法可以做到这一点,还是我需要改变JSON解码器? Thanks. 谢谢。
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()
will return you array of ValueEnum[] then you can iterate over array and check for 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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.