@JsonFormat注解用法

1.介绍:

   @JsonFormat是Java中的一个注解,用于指定日期和时间的格式。它通常与Jackson库一起使用,用于在JSON序列化和反序列化时控制日期和时间的格式

2.@JsonFormat的一些常见用法:

        2.1.指定日期格式:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private Date date;

        上述代码将日期属性date的格式设置为"yyyy-MM-dd",即年-月-日的形式。

      2.2.指定时间格式:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm:ss")
private Time time;

        上述代码将时间属性time的格式设置为"HH:mm:ss",即小时:分钟:秒的形式。

        2.3.指定日期和时间格式:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp timestamp;

         上述代码将日期和时间属性timestamp的格式设置为"yyyy-MM-dd HH:mm:ss",即年-月-日 小时:分钟:秒的形式

        2.4.自定义日期格式:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy")
private Date customDate;

        上述代码将日期属性customDate的格式设置为"dd/MM/yyyy",即日/月/年的格式。

需要注意的是,@JsonFormat注解还可以与其他参数一起使用,例如locale参数可以指定本地化信息,timezone参数可以指定时区等。具体的用法可以根据实际需求进行调整。

3.@JsonFormat注解提供了多种方法来自定义日期和时间的格式

        3.1 shape:指定日期格式的形状,可以是JsonFormat.Shape.STRING、JsonFormat.Shape.NUMBER或JsonFormat.Shape.SCALAR。STRING表示日期格式为字符串,NUMBER表示为数字,而SCALAR表示为标量值。
        3.2 pattern:定义日期和时间的格式模式,例如"yyyy-MM-dd HH:mm:ss"表示年-月-日 小时:分钟:秒的格式。
        3.3 locale:设置本地化信息,用于格式化日期。
        3.4 timezone:指定时区,用于处理不同地区的日期和时间。
        3.5 iso8601:设置为true时,使用ISO 8601标准格式输出日期和时间。
使用@JsonFormat注解时,需要确保项目中已经引入了相应的依赖,如FasterXML的Jackson库。这个注解主要用于前端和后端之间日期和时间格式的转换,确保数据在传输过程中的格式一致性。
在实际开发中,如果前端传递的日期时间数据是字符串格式,如"2022年07月29日 09时41分22秒",可以使用@JsonFormat注解来指定相应的格式,以便正确解析和序列化日期时间数据。

4. @JsonFormat其他用法:

   当后端传输一个Long 类型的数据大于前端的Number类型时就要将Long类型转化为String

@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;

//在后端还是Long类型到前端变成了String类型
//在JSON序列化和反序列化时,该属性的值将以字符串形式表示,而不是默认的日期格式

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值