jackson使用@JsonFormat注解处理日期时间类型序列化

    科技2022-07-11  73

    1.简介

     

    默认情况下,jackson在序列化Date类型时,会将其转换为毫秒时间戳,有时需要Date序列化为指定格式的时间字符串

    jackson提供了以下注解:

    JsonFormat:指定了Date序列化时使用的日期时间格式

     

    2.实体

     

    import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.util.Date; @Data public class User { private Integer id; private Date date; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date date1; @JsonFormat(with = JsonFormat.Feature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS) private Date date2; } pattern:指定了日期时间格式化字符串 with:指定了启用的jackson特性

     

    3.测试

     

    ObjectMapper mapper = new ObjectMapper(); User user = new User(); user.setId(1); user.setDate(new Date()); user.setDate1(new Date());
    Processed: 0.013, SQL: 8