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());