一、吐槽 已經是凌晨12點了我還是睡不著 我所有的實體類時間用的j8的LocalDateTime 這就導致一個問題:jackson不能序列化時間,因為它不支持j8的Api,讓我添加 jackson-datatype-jsr310 解決 二、問題 如果是這樣做統一返回結果集需要 private sta ...
一、吐槽
已經是凌晨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小時沒思路就自己研究,可別死磕百度了,哎