import com.fasterxml.jackson.annotation.JsonProperty;
public enum ReviewersRating {
@JsonProperty(0)_0,_1, _2, _3, _4, _5;
}
我有一个需要分别转换为int值的枚举。如果值为String
类型,我已经成功了,但我如何为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;
}
}
结果仍未以int类型打印。我在JSON "ReviewersRating": "_0",
答案 0 :(得分: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;
}
}