jackson如何将Integer类型序列化为枚举类型?

假设有一个实体类user, 对应数据库字段

@Data
public class User {
    /**
     * 主键id
     */
    private Long id;
    /**
     * 名字
     */
    private String name;
    /**
     * 状态
     */
    private Integer status;
  
}

用户的状态对应的枚举类

public enum UserStatusEnum {

    /**
     * 正常
     */
    ON(1),
    /**
     * 禁用
     */
    OFF(0);

    private final Integer value;


    UserStatusEnum(Integer value) {
        this.value = value;
    }

    public Integer getValue() {
        return value;
    }
}

问题是: 如何用jackson在序列化时将 Integer 类型的状态转为 枚举型 ON 或者 OFF ?

返回给前端的json (status不是1而是"ON"):

{
"id": 1,
"name": "张三"
"status": "ON"
}
阅读 2.2k
2 个回答

其实代码都有抄的,
时间转换用的多吧,字符串变成Date或者localdate,除了dateformatter,还可以使用JsonSerializable,JsonDeserialize注解,

image.png
image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏