杰克逊顶部

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程

1.概述

在本文中,我们试图了解如何使用@jsonformat.在杰克逊。它是杰克逊的注释,用于指定如何格式化JSON输出的字段和/或属性。

具体来说,此注释允许您指定如何格式化日期日历根据a的价值SimpleDateFormat格式。

2. Maven依赖

@jsonformat.定义在杰克逊 - 数据库包,因此我们需要以下Maven依赖项:

<依赖项>  com.fasterxml.jackson.core   Jackson-Databind   2.11.1  

3.入门

3.1。使用默认格式

首先,我们将演示使用的概念@jsonformat.用代表用户的类注释。

由于我们正试图解释注释的细节,因此用户将根据请求创建(而不是从数据库存储或加载)创建对象,并序列化为json:

公共类用户{私有字符串名字;私有字符串LastName;私有日期创建=新日期();//标准构造函数,setter和getters}

构建和运行此代码示例返回以下输出:

{“FirstName”:“John”,“LastName”:“Smith”,“创造德”:1482047026009}

正如你所看到的那样,创建日期字段显示为epoch以来的秒数,这是用于默认格式日期字段。

3.2。使用getter上的注释

让我们现在使用@jsonformat.指定格式创建日期字段应序列化。以下是更新此更改的用户类。这创建日期字段已被注释,如图所示指定日期格式。

用于的数据格式图案参数由SimpleDateFormat

@jsonformat(shape = jsonformat.shape.string,pattern =“[电子邮件受保护]:mm:ss.sssz“)创建私有日期;

通过这种变化,我们再次建立项目并运行它。输出如下所示:

{“firstname”:“John”,“LastName”:“Smith”,“创建”:“[电子邮件受保护]:53:34.740 + 0000“}

正如你所看到的那样,创建日期使用指定的字段格式化了SimpleDateFormat格式使用@jsonformat.注解。

上面的示例使用字段上的注释演示。它也可以用在getter方法(属性)中使用如下。

例如,您可能有一个在调用时计算的属性。您可以在这种情况下使用getter方法上的注释。请注意,图案也已更改为仅返回即时的日期部分:

@jsonformat(shape = jsonformat.shape.string,pattern =“yyyy-mm-dd”)公共日期getcurrentdate(){返回新日期();}

结果输出如下:

{......,“currenddate”:“2016-12-18”,...}

3.3。指定语言环境

除了指定日期格式外,还可以指定要用于序列化的语言环境。未指定此参数导致使用默认语言环境执行序列化:

@jsonformat(shape = jsonformat.shape.string,pattern =“[电子邮件受保护]:mm:ss.sssz“,locale =”en_gb“)公共日期getcurrentdate(){返回新日期();}

3.4。指定形状

使用@jsonformat.形状设置为jsonformat.shape.number.导致默认输出日期类型 - 截至时代以来的秒数参数图案不适用于这种情况,被忽略:

@jsonformat(shape = jsonformat.shape.number)公共日期getDatenum(){返回新日期();}

输出如下所示:

{...,“数据项”:1482054723876}

4。结论

综上所述,@jsonformat.用于控制输出格式日期日历类型如上所示。

可以使用上面显示的示例代码在GitHub

杰克逊底部

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程
15.注释
最老的
最新
内联反馈
查看所有评论
评论在本文上关闭!