字符串转对象时发生报错
Cannot deserialize value of type java.util.Date
from String “2023-07-24 10:59:01”: not a valid representation (error: Failed to parse Date value ‘2023-07-24 10:59:01’: Cannot parse date “2023-07-24 10:59:01”: while it seems to fit format ‘yyyy-MM-dd’T’HH:mm:ss.SSSX’, parsing fails (leniency? null))。
发生报错的原因有
日期格式不匹配:SON 数据中的日期格式与 Java 中的 java.util.Date 类型不匹配,导致转换时发生报错。
实体类中时间字段未加注解:在反序列化 JSON 数据时,缺少相应的日期格式化注解,导致无法正确将日期字符串转换成 java.util.Date 对象。
解决方案
确保 JSON 数据中的日期格式与 Java 中的 java.util.Date 类型相匹配。通常,Java 中的日期类型采用 ISO 8601 格式,例如 “yyyy-MM-dd’T’HH:mm:ss.SSSZ”。在前后端数据交互时,要确保日期数据的格式一致。
如果 JSON 数据的日期格式与 Java 中的 java.util.Date 类型不匹配,可以在 Java 中使用 @JsonFormat 注解来指定日期格式:
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")