Jackson针对enum类型的解析

org.codehaus.jackson.annotate.JsonValue,该jar包已经废弃维护,请使用fasterxml的jar包com.fasterxml.jackson.annotation.JsonValue

image.png

假设我们现在有如下枚举类:

public enum Sex {
    FEMALE("0", "女"), MALE("1", "男");
    private String value;
    private String description;

    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
}

在SpringMVC中如果直接返回枚举类

@RequestMapping("sex")
@ResponseBody
public Sex aboutUs3(){
    return Sex.MALE;
}

他会返回枚举对象的对象名称,比如Sex.MALE,就会返回"MALE",如果想返回枚举对象中的某个属性,则可以使用@JsonValue注解。该注解只能用在方法上,所以我们想返回枚举对象的哪个属性,就在对应属性的getter方法上加上该注解即可。

@JsonValue
public int getValue() {
    return value;
}

此时,该枚举类作为另一个实体类的属性返回,jackson也会自动返回标注了@JsonValue注解的属性值。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 大地的温暖渐渐地褪去,初秋随着弥漫的雾气悄悄地爬了上来。 天地间最后一线光逝去。衰老的蜻蜓如往常一样,轻轻地点...
    石莨阅读 1,729评论 3 5
  • 今天来T城,坐了很久的车,十二点多才到。下午面试来不及了,去了兔子大姐家。 在大姐建议下,本来打算转行人力资源的兔...
    Katathena阅读 1,592评论 0 1
  • 本周心理学的专栏讲的是“爱恨情仇与纠结”,武老师提出大师级的电影导演王家卫是展现人与人之间最细的情感主线见长,今天...
    肥羊并不肥阅读 3,984评论 0 0