2015-10-30 36 views
0
import com.fasterxml.jackson.annotation.JsonProperty; 

public enum ReviewersRating { 
    @JsonProperty(0)_0,_1, _2, _3, _4, _5; 
} 

我有一個枚舉需要分別轉換爲它們的int值。如果值爲String類型,我一直很成功,但對於其他數據類型如int,我該怎麼做?使用@JsonProperty作爲int值檢索枚舉

至於建議由一個評論,我想

import com.fasterxml.jackson.annotation.JsonProperty; 

public enum ReviewersRating { 
    _0(0),_1(1), _2(2), _3(3), _4(4), _5(5); 

    private int rating; 
    private ReviewersRating(final int rating) { 
     this.rating = rating; 
    } 

    @JsonProperty 
    public int toInt() 
    { 
     return rating; 
    } 
} 

結果仍然沒有整型打印。我在JSON "ReviewersRating": "_0",

+1

可分配每個枚舉值的int值,並添加該int值的getter方法的JSON註解 – sidgate

回答

1

得到這個在getter方法使用@JsonValue的伎倆

import com.fasterxml.jackson.annotation.JsonValue; 

public enum ReviewersRating { 
    _0(0),_1(1), _2(2), _3(3), _4(4), _5(5); 

    private final int rating; 
    private ReviewersRating(final int rating) { 
     this.rating = rating; 
    } 

    @JsonValue 
    public int toInt() 
    { 
     return this.rating; 
    } 
}