ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

万恶的Jackson

2022-05-19 01:03:25  阅读:199  来源: 互联网

标签:万恶 j8 Jackson module static 文章 new OBJECTMAPPER


一、吐槽

已经是凌晨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(要返回的数据)

但是、这样格式化出来的是个时间戳,又头大了。
在但是点方法进去一个一个看了于是乎发现了

image

config可以配置时间戳,万事大吉

image

总的来说代码就两行

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有