美文网首页
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