簡體   English   中英

將JSON反序列化為Java枚舉

[英]Deserialize JSON to Java enum

我在Android上的Java中有以下枚舉,我希望能夠將傳入的JSON字符串/對象中的整數反序列化為此枚舉類型。 我一直在傑克遜和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;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM