欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

使用@JsonFormat的一个坑及解决,

来源: javaer 分享于  点击 29930 次 点评:96

使用@JsonFormat的一个坑及解决,


目录
  • 使用@JsonFormat的一个坑及解决
    • 解决如下
  • JsonFormat的时间格式踩坑

    使用@JsonFormat的一个坑及解决

    spring boot项目 ,mysql数据库的datetime数据类型无法使用@JsonFormat解析 ,使@JsonFormat注解失效 。

    原因不明 ,解决方案未明-待。。

    有一个解决方案:

    @JsonFormat注解在字段解析的时候失效了 ,但是放在application.yml配置文件中可以生效。具体原因不明 ,猜测底层覆盖掉format方法 或者Jackson 默认走配置文件的方式?

    解决如下

     spring:
      jackson:
          date-format: yyyy-MM-dd HH:mm:ss
          time-zone: GMT+8

    同级 spring.jackso.date-formact

    JsonFormat的时间格式踩坑

    使用JsonFormat注解来处理时间格式时,一定要注意规范写日期格式,否则会出现奇奇怪怪的时间转换bug

    正确格式

    @JsonFormat(partten="yyyy-MM-dd",timezone="GMT+8")
    private Date startDate;

    错误格式:输出的时间会变成每月1号

    @JsonFormat(partten="yyyy-mm-dd",timezone="GMT+8")
    private Date startDate;

    正确格式

    @JsonFormat(partten="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date startDate;

    错误格式:输出时间会早10小时

    @JsonFormat(partten="yyyy-MM-dd hh:mm:ss",timezone="GMT+8")
    private Date startDate;
    

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持3672js教程。

    您可能感兴趣的文章:
    • Jackson反序列化@JsonFormat 不生效的解决方案
    • 基于@JsonFormat的导包问题
    • jackson使用@JsonSerialize格式化BigDecimal解决.00不显示问题
    相关栏目:

    用户点评