万恶的Jackson
作者:互联网
一、吐槽
已经是凌晨12点了我还是睡不着
我所有的实体类时间用的j8的LocalDateTime
这就导致一个问题:jackson不能序列化时间,因为它不支持j8的Api,让我添加 jackson-datatype-jsr310 解决
二、问题
如果是这样做统一返回结果集需要
private static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// static
static {
OBJECTMAPPER.setDateFormat(SIMPLE_DATE_FORMAT);
SimpleModule module = new SimpleModule();
module.addSerializer(Long.class, ToStringSerializer.instance);
module.addSerializer(Long.TYPE, ToStringSerializer.instance);
OBJECTMAPPER.registerModule(module);
//添加pom后 处理j8的时间api
OBJECTMAPPER.registerModule(new JavaTimeModule());
}
这样的一切都是为了能够把数据转为json格式给前端
OBJECTMAPPER.writeValueAsString(this);
但这样还有问题,查出的集合 时间清一色 分钟都是 5,我看了大部分的文章,配这个全局啊那个全局啊注解啊,先不说不能解决问题,清一色都是复制粘贴的文章。
三、思路
不说那10个文章8个文章一摸一样的思路,本质,上讲我需要一个可以序列化的工具类,看了那么多文章各种配的我觉得那不属于我,于是乎,我想到了 HuTool
1、引入jar包
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.0.M4</version>
</dependency>
四、解决问题
使用该工具就可以成功解决问题
JSONUtil.toJsonStr(要返回的数据)
但是、这样格式化出来的是个时间戳,又头大了。
在但是点方法进去一个一个看了于是乎发现了
config可以配置时间戳,万事大吉
总的来说代码就两行
JSONConfig jsonConfig = new JSONConfig().setDateFormat("yyyy-MM-dd HH:mm:ss")
JSONUtil.toJsonStr(data, jsonConfig)
看文章2小时没思路就自己研究,可别死磕百度了,哎
标签:万恶,j8,Jackson,module,static,文章,new,OBJECTMAPPER 来源: https://www.cnblogs.com/pkkyh/p/16286957.html