@JsonFormat、@JSONField、@DateTimeFormat的使用以及其区别
1、JsonFormat来源于jackson,Jackson是一个简单基于Java应用库,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。Jackson所依赖的jar包较少,简单易用并且性能也要相对高些,并且Jackson社区相对比较活跃,更新速度也比较快。
2、JSONField来源于fastjson,是阿里巴巴的开源框架,主要进行JSON解析和序列化。
3、DateTimeFormat是spring自带的处理框架,主要用于将时间格式化。
@DateTimeFormat使用方法:
我们可以使用@DateTimeFormat注解将一个字符串转成一个Date对象,pojo类上的哪个Date类型的字段需要,就需要用@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 标记,这样前端页面传递过来的String类型的时间 '2016-11-11 11:11:11' 会转换为 Date 类型
@JsonFormat
但是后台传到前台,前台没办法解析。需要做如下操作。
@JsonFormat(pattern=”yyyy-MM-dd”)
用法 为在属性值上 @JsonFormat(pattern=”yyyy-MM-dd”,timezone=”GMT+8”),如果直接使用 @JsonFormat(pattern=”yyyy-MM-dd”)就会出现2018-08-01 08:00:00的情况, 会相差8个小时,因为我们是东八区(北京时间)。所以我们在格式化的时候要指定时区(timezone )