【Java】Springboot通过ObjectMapper配置json序列化详解
warning:
这篇文章距离上次修改已过224天,其中的内容可能已经有所变动。
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class JacksonConfig {
@Bean
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
// 配置自定义序列化行为
// 例如,禁用默认的日期时间格式,使用自定义的格式
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
// 配置Java 8日期和时间的支持
JavaTimeModule javaTimeModule = new JavaTimeModule();
// 自定义日期格式
javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
mapper.registerModule(javaTimeModule);
// 返回配置好的ObjectMapper实例
return mapper;
}
}
这段代码演示了如何在Spring Boot应用程序中配置ObjectMapper
以自定义JSON序列化行为。它禁用了默认的时间戳格式,并启用了自定义日期格式的设置。同时,它展示了如何注册Java 8日期和时间API的支持,并为这些类型指定了自定义的序列化格式。这对于需要特定格式的JSON输出的应用程序来说是非常有用的。
评论已关闭