gpt4 book ai didi

java - 来自 Spring MVC 中 LocalDateTime(java 8) 的 Json 字符串

转载 作者:可可西里 更新时间:2023-11-01 07:58:24 25 4
gpt4 key购买 nike

在 Spring MVC 框架中格式化 LocalDateTime(Java 8) 有问题

我的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>

并在字段值 w_date 中添加 @JsonFormat(pattern="yyyy-MM-dd")

但还是像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页面 Controller 代码

@RequestMapping(value = "/listJson.do")
public @ResponseBody Object listJson(Map<String, Object> commandMap, ModelMap model) throws Exception {
List<HistoryBoard> list = boardService.selectBoardList(commandMap);
return list;

}

最佳答案

回答了类似的问题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;

关于java - 来自 Spring MVC 中 LocalDateTime(java 8) 的 Json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34464156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com