前端提交数据到后端时,日期格式转换异常:JSON parse error (Json解析错误)

今天做项目的时候,vue前端提交数据到后端处理,其中包含日期格式的数据,前端传的日期格式为"yyyy-MM-dd",转换成json到后端时,后端报错,报错信息如下:

2019-09-12 21:11:36.322  WARN 9868 --- [io-10001-exec-8] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.util.Date` from String "2019-09-12": not a valid representation (error: Failed to parse Date value '2019-09-12': Unparseable date: "2019-09-12"); nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.Date` from String "2019-09-12": not a valid representation (error: Failed to parse Date value '2019-09-12': Unparseable date: "2019-09-12")
 at [Source: (PushbackInputStream); line: 1, column: 9] (through reference chain: org.keyangsoft.modules.business.cq.entity.CqSjjl["jlrq"])]

这段报错提示信息中,主要内容是:

JSON parse error: Cannot deserialize value of type `java.util.Date` from String "2019-09-12": not a valid representation (error: Failed to parse Date value '2019-09-12': Unparseable date: "2019-09-12"); nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.Date` from String "2019-09-12": not a valid representation (error: Failed to parse Date value '2019-09-12': Unparseable date: "2019-09-12")

分析:Json解析错误,不能从字符串“2019-09-12”反序列化‘java.util.Date’类型的值。 也就是,Json的字符串类型的日期值,转化为实体类中Date类型的值的过程中出错了。

解决方法:在实体类的字段上加上 @JsonFormat注解即可。
其中,pattern:日期格式,与前端传递过来的日期值的格式保持一致。

    /**
     * 记录日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date jlrq;
发布了23 篇原创文章 · 获赞 2 · 访问量 4256

猜你喜欢

转载自blog.csdn.net/weixin_45616483/article/details/100783820
今日推荐