如下面例子
jackson 解析枚举 时一般返回 MALE,FEMALE,
如果想返回 文字或者数字怎么办。网上stackflow上大都用@JsonCreator
官网提供的方法(下面的方法)更好点,想返回什么就在属性的get方法上加 @JsonValue。如果想在不同的方法中返回不同的值就用其他的方法了!
package com.model;
import com.fasterxml.jackson.annotation.JsonValue;
public enum Gender {
MALE(0,"男"),FEMALE(1,"女"),UNKOWN(2,"未知");
private Integer id;
private String name;
private Gender(Integer id,String name) {
this.id = id;
this.name = name;
}
private Gender(Integer id) {
this.id = id;
}
private Gender(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@JsonValue
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}