首页 前端知识 @JsonFormat 注解的使用

@JsonFormat 注解的使用

2024-04-19 21:04:47 前端知识 前端哥 86 20 我要收藏

SpringBoot 中的 @JsonFormat 注解

    • 1. 引言
    • 2. 简介
    • 3. 使用
      • ①引入依赖
      • ②添加注解

1. 引言

在前后端交互过程当中,往往需要后端返回前端所需要的日期类型数据,所以在将数据返回给前端时,可能会需要对日期类型进行格式化;
为更便捷的返回需要的数据,可以用 @JsonFormat 注解,其作用就是把DATE类型的数据转化成为我们想要的格式。

2. 简介

@JsonFormat 是Jackson中定义的一个注解,可以在数据返回前端时进行格式化;

例如前端需要的字符串格式的日期:“2023年10月31日 18时22分22秒”,则需要如下配置:

@JsonFormat(pattern = “yyyy年MM月dd日 HH时mm分ss秒”)
private Date createTime;

解析后存入DB中的依然为:2022-10-31 18:22:22,而在查询时返回的数据就会被格式化为:“2023年10月31日 18时22分22秒”

注意只有在将实体返回JSON格式数据时才会转换格式,其他时候日期格式不会被转换!

3. 使用

①引入依赖

@JsonFormat 注解不是SPRING自带的注解,而是Jackson的注解,所以需要在Maven中导入jackson相关的依赖包;

情况一:非SpringBoot项目:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.6</version>
</dependency>

情况二:SpringBoot项目:
spring-boot-start-web下已经包了Jackson的相关依赖,不需要再添加依赖!

②添加注解

在实体类中的属性上面使用 @JsonFormat 注解;

情况一:时间类型为 LocalTime 或 LocalDataTime:
只需要在属性上方定义时间类型即可;

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalTime createTime;

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;

情况二:时间类型 Data:
在使用 Data 类型时,由于Jaskson格式化时是按照国际标准时间GMT的,而国内是CST时区,两者相差8h,所以需要手动指定时区;

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

参考:
https://blog.csdn.net/goodjava2007/article/details/126028371
https://www.cnblogs.com/Marydon20170307/p/17750947.html

转载请注明出处或者链接地址:https://www.qianduange.cn//article/5363.html
标签
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!