问题描述:实体类中有一个LocalDateTime类型的属性,在把整个类转为json格式时,里面的LocalDateTime类型的数据会是下面所展示的样子
{\"month\":\"MARCH\",\"year\":2022,\"hour\":14,\"minute\":50,\"nano\":610000000,\"second\":3,\"dayOfMonth\":14,\"dayOfWeek\":\"MONDAY\",\"dayOfYear\":73,\"monthValue\":3,\"chronology\":{\"id\":\"ISO\",\"calendarType\":\"iso8601\"}
目标是转为:“2022-03-14 14:54:00”
解决方法:
导入jar包
<!-- 处理Spring返回JSON格式, 如日期格式 -->
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
String jsonStr="";
ObjectMapper objectMapper=new ObjectMapper();
JavaTimeModule javaTimeModule=new JavaTimeModule();
DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
javaTimeModule.addSerializer(LocalDateTime.class,newLocalDateTimeSerializer(dateTimeFormatter));
objectMapper.registerModule(javaTimeModule);
try {
jsonStr=objectMapper.writeValueAsString(task);//task是我要转化的实体类
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return jsonStr;//jsonStr是转换为json格式的数据
得到的LocalDateTime为"createTime\":\"2022-03-14 14:58:18\"