Jackson全局配置和JsonFormat注解设置日期格式

>>《轻松学习Jackson》教程

在日常开发中,日期是很常见的一种数据类型,特别是在与数据库打交道的场景。

为了提升日期的可读性,通常会将日期进行格式化之后再输出,用于前端展示和日志打印等场景。

Jackson在对日期进行序列化时,也支持按指定的格式进行序列化。

本篇内容基于Jackson 2.11.2版本,马上开始学习吧。

默认日期格式

创建一个代表产品的类Product,其中发布时间publishDate为Date类型。

public class Product {
   

	private String name;
	private Date publishDate;

	// 省略getter、setter方法

	@Override
	public String toString() {
   
		return "Product [name=" + name + ", publishDate=" + publishDate + "]";
	}

}

使用默认的配置进行序列化。

/**
 * 默认日期格式化.
 * 
 * @throws JsonProcessingException
 */
@Test
public void dateToLong() throws JsonProcessingException {
   
	Product product = new Product();
	product.setName("TV");
	product.setPublishDate(new Date());
	
	ObjectMapper mapper = new Ob
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JsonFormat注解和@DateTimeFormat注解都是用于处理日期时间格式注解。它们的主要区别在于应用的场景和使用方式。 @JsonFormat注解是在Jackson库中使用的,用于在序列化和反序列化过程中自定义日期时间的格式。通过@JsonFormat注解,我们可以指定日期时间的显示格式,例如"yyyy-MM-dd HH:mm:ss"。这个注解可以应用在类级别或属性级别上,作用于全局或特定字段。它可以用于将日期时间转换为特定的字符串格式,以及将特定的字符串格式转换为日期时间对象。 @DateTimeFormat注解是Spring框架中使用的,用于绑定请求参数或表单数据到Java对象时解析日期时间。通过@DateTimeFormat注解,我们可以指定接收的日期时间的格式,例如"yyyy-MM-dd"。这个注解通常用于Controller层的方法参数上,用于将请求中的字符串日期时间解析为Java的Date或LocalDateTime对象。 综上所述,JsonFormat注解主要用于序列化和反序列化过程中的日期时间格式处理,而@DateTimeFormat注解主要用于接收请求参数或表单数据时的日期时间解析。它们在不同的场景下发挥着不同的作用,但都可以帮助我们灵活地处理日期时间格式的转换。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [@JsonFormat 和 @DateTimeFormat 时间格式注解详解(不看血亏)](https://blog.csdn.net/zhuzicc/article/details/106529485)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [@DateTimeFormat与@JsonFormat详解](https://blog.csdn.net/imVainiycos/article/details/102712056)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [JsonFormat与@DateTimeFormat注解实例解析](https://download.csdn.net/download/weixin_38691220/12930475)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值