依赖
<jackson.version>2.12.5</jackson.version>
<!-- Jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- Jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
配置文件
spring:
jackson:
serialization:
write-dates-as-timestamps: true
代码配置
@Configuration
public class JacksonConfig {
@Bean
public ObjectMapper objectMapper() {
ObjectMapper mapper = new Jackson2ObjectMapperBuilder()
.serializerByType(Long.TYPE, ToStringSerializer.instance)
.serializerByType(Long.class, ToStringSerializer.instance)
.createXmlMapper(false)
.build();
// 当接收到未定义的枚举类型时, 将枚举字段设为NULL
mapper.configure(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL, true);
// 设置时区
mapper.setTimeZone(TimeZone.getTimeZone("GMT+8"));
// 设置日期格式
mapper.setDateFormat(new SimpleDateFormat(DatePattern.NORM_DATETIME_PATTERN));
// 序列化成时间戳时间
mapper.configure(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS, true);
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, true);
return mapper;
}
}