美文网首页
Jackson针对enum类型的解析

Jackson针对enum类型的解析

作者: Hogantry | 来源:发表于2019-03-13 13:57 被阅读0次

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注解的属性值。

相关文章

网友评论

      本文标题:Jackson针对enum类型的解析

      本文链接:https://www.haomeiwen.com/subject/weoguqtx.html