在Spring框架中LocalDateTime(Java8)格式有问题
我的VO就像下面的代码
在mySQL w_date字段中是DATETIME,并且与"2015-12-25 23:18:22"类似
public class HistoryBoard {
@JsonFormat(pattern="yyyy-MM-dd")
@DateTimeFormat(iso = DateTimeFormat.ISO.TIME)
private LocalDateTime w_date;
public LocalDateTime getW_date() {
return w_date;
}
public HistoryBoard setW_date(String w_date) {
DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S");
this.w_date = LocalDateTime.parse(w_date, sdf);
return this;
}
}添加maven依赖项
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.5.3</version>
</dependency>并在字段值@JsonFormat(pattern="yyyy-MM-dd")中添加w_date
但是json还是得到了这样的对象
"w_date":{"dayOfMonth":25,"dayOfWeek":"FRIDAY","month":"DECEMBER","year":2015,"dayOfYear":359,"monthValue":12,"hour":23,"minute":18,"second":22,"nano":0,"chronology":{"id":"ISO","calendarType":"iso8601"}json页控制器代码
@RequestMapping(value = "/listJson.do")
public @ResponseBody Object listJson(Map<String, Object> commandMap, ModelMap model) throws Exception {
List<HistoryBoard> list = boardService.selectBoardList(commandMap);
return list;
}发布于 2015-12-31 15:59:32
here回答了一个类似的问题。您可能必须将@JsonSerialize(using = LocalDateTimeSerializer.class)添加到您的字段中。
您还可以创建如下所示的自定义序列化程序:
public class CustomLocalDateTimeSerializer extends JsonSerializer<LocalDateTime>{
@Override
public void serialize(LocalDateTime dateTime, JsonGenerator generator, SerializerProvider sp)
throws IOException, JsonProcessingException {
String formattedDateTime = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
generator.writeString( formattedDateTime);
}
}并在LocalDateTime字段中使用自定义序列化程序:
@JsonSerialize(using = CustomLocalDateTimeSerializer.class)
private LocalDateTime w_date; https://stackoverflow.com/questions/34464156
复制相似问题