springboot中的json、gson、fastjson如何使用与日期格式转换

2023-11-01

关于如何引用json、gson、fastjson

srpngboot中默认用的是json格式,如果需要使用gson和fastjson其中一种格式的话,首先需要在pom文件中排除对json格式的依赖,再去引入你想要gson或者fastjson当中的一种。
代码如下:
下面这种是引入fastjson

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!--排除对json格式的依赖-->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-json</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--引入gson格式的依赖-->
        <!-- <dependency>
                    <groupId>com.google.code.gson</groupId>
                    <artifactId>gson</artifactId>
             </dependency>-->
        <!--引入fastjson格式的依赖-->     
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.49</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
</dependency> 

json格式日期转换

默认不处理传给前台的json格式形式如下:
在这里插入图片描述

  1. 第一种通过在实体类需要转换的日期属性上加上@JsonFormat(pattern = “yyyy-MM-dd”)。缺点就是如果有多个实体类都有日期属性都需要日期转换,那么都需要加。
  2. 第二种就是自定义一个WebMvcConfig类,类中加上自定义的bean。那么整个项目的json格式日期都会按照这个格式来转换。
    如果就是有多个类中都有日期需要转换,但是已经在全局配置中定义转换格式,但是某个类中日期转换又不想用全局的日期转换格式,此时可以在这个类上加上@JsonFormat(pattern = “yyyy-MM-dd”)指明需要格式即可。
    转换后如下:
    在这里插入图片描述
    json下:
@Configuration
public class WebMvcConfig {
    @Bean
    MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
        ObjectMapper om = new ObjectMapper();
        om.setDateFormat(new SimpleDateFormat("yyyy/MM/dd"));
        converter.setObjectMapper(om);
        return converter;
    }
    }

gson下:需要排除json依赖,引入gson依赖

@Configuration
public class WebMvcConfig {
   @Bean
    GsonHttpMessageConverter gsonHttpMessageConverter() {
        GsonHttpMessageConverter converter = new GsonHttpMessageConverter();
        converter.setGson(new GsonBuilder().setDateFormat("yyyy/MM/dd").create());
        return converter;
    }
    @Bean
    Gson gson() {
        return new GsonBuilder().setDateFormat("yyyy/MM/dd").create();
    }
}    

fastjson下:需要排除json依赖,引入fastjson下

@Configuration
public class WebMvcConfig {
 @Bean
    FastJsonHttpMessageConverter fastJsonHttpMessageConverter() {
        FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
        FastJsonConfig config = new FastJsonConfig();
        config.setDateFormat("yyyy-MM-dd");
        converter.setFastJsonConfig(config);
        return converter;
    }
}    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springboot中的json、gson、fastjson如何使用与日期格式转换 的相关文章

随机推荐

  • 系统环境变量PATH,无法编辑和新增路径时的解决办法

    场景 新电脑配置环境变量 在系统已经配置MAVEN HOME 加PATH路径时 显示已经添加成功 mvn脚本无法执行 再次看PATH路径 显示并没有保存 试了几次后还是一样 解决思路 先百度了这个情况 都说关闭杀毒软件 可是本人电脑并未安装
  • 读者手册(必读)

    目录 一 代码报错求助 二 关于资源下载 三 CSDN文章质量分查询 四 各个操作系统的ISO纯净版 一 代码报错求助 1 任何资源和问题可以关注公众号 云边的快乐猫 一定可以给你解决 2 我的动态交流地方 大家有什么问题可以私信我或者动态
  • 【论文&模型讲解】CLIP(Learning Transferable Visual Models From Natural Language Supervision)

    文章目录 前言 0 摘要 1 Introduction and Motivating Work 2 Approach 2 0 模型整体结构 2 1 数据集 2 2 选择一种高效的预训练方法 2 3 模型选择与缩放 2 4 训练 3 实验 3
  • 前端自动埋点

    起源是在测试时候没有报错 系统功能不正常 和测试查找错误很麻烦 埋点就是在某个功能函数里上报一些信息 比较类试express的中间件机制 但是没有操作的权限 自定义express的打印日志中间件 app get req res gt con
  • uniapp关闭顶部导航栏

    在page json中输入以下代码 navigationStyle custom app plus titleNView false
  • 微信小程序+uni-app知识点总结

    微信小程序知识点合集 1 小程序的优势和劣势有哪些 优势 1 容易推广 在微信中 小程序拥有众多入口 例如附近的小程序 小程序码 分享 发现 小程序等五十多个的入口 这些都有助于推广小程序 2 使用便捷 用户在使用小程序时 只需要轻轻点一下
  • Varnish的简单配置及使用

    一 Varnish的简单介绍 1 varnish是什么 Varnish是一个web加速器 被安装在web应用程序前面 缓存web应用程序 并响应用户请求 是一款具有高性能的开源HTTP加速器 具有方向代理及缓存的功能 功能与squid服务器
  • 基于STM32emWin5.32的移植

    基于STM32emWin532版本的移植 移植前提 1 下载所需源码 2 直接拷贝Cubemx的STemwin 文件说明 2 需已完成底层绘制LCD的驱动调试 移植 在项目工程目录增加以下文件夹及文件 配置单次图像刷写最大允许字节 配置驱动
  • 【ARIMA-WOA-LSTM】差分自回归移动平均方法-鲸鱼优化算法-LSTM预测研究(python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码实现 1 概述 差分自回归移动平均模型 ARIMA 是一种
  • 加速读取——三式(getchar,std::ios::sync_with_stdio(false)、cin.tie(0))

    在一些题目中会出现数据输入很大的情况 如果我们运用不好读取数据工具的话 那么很可能会在读取数据上花费较多的时间 甚至还没读完就超时了 读取速度 cin lt cin 关闭流同步 lt scanf lt getchar cin 关闭流同步 为
  • mysql让自增的id重新从0开始的命令

    1 清空表 2 TRUNCATE TABLE 表名
  • Linux下的压缩zip,解压缩unzip命令详解及实例

    http www cnblogs com zdz8207 p 3765604 html
  • Python爬虫分布式架构 - Redis/RabbitMQ工作流程介绍

    在大规模数据采集和处理任务中 使用分布式架构可以提高效率和可扩展性 本文将介绍Python爬虫分布式架构中常用的消息队列工具Redis和RabbitMQ的工作流程 帮助你理解分布式爬虫的原理和应用 为什么需要分布式架构 在数据采集任务中 单
  • 列举工作中常用的几个git命令?

    列举工作中常用的几个git命令 新增文件的命令 git add file或者git add 提交文件的命令 git commit m或者git commit a 查看工作区状况 git status s 拉取合并远程分支的操作 git fe
  • React16入门

    环境搭建 安装node 安装官方脚手架create react app npm install g create react app 创建项目 进入文件夹 进入cmd运行命令 mkdir ReactDemo 创建ReactDemo文件夹 c
  • 固态硬盘和机械硬盘的区别

    固态硬盘的应用范围要比机械硬盘的使用范围更广泛 固态硬盘在电子世界中起着非常重要的部件 而机械硬盘使用范围就不像固态硬盘那样灵活了 目前固态硬盘中最大的容量体积为1 6TB 传言IBM公司开始测试4TB的高速固态硬盘组了 和机械硬盘相比按T
  • jmeter配置java版本,Jmeter 在windows下的安装配置方法

    Jmeter通常用于并发测试 本文介绍Jmeter工具的安装步骤 2 安装jdk 下载完成后 双击安装 2 步骤二 配置jdk环境变量 右键计算机属性 gt 高级系统设置 gt 系统属性 gt 高级 gt 环境变量 gt 添加如下的系统变量
  • 2021-12-5 《聪明的投资者》学习笔记

    摘自 聪明的投资者 The Intelligent Investor 第4版 本杰明 格雷厄姆 第一章 投资与投机 聪明投资者的预期收益 第二章 投资者与通货膨胀 第三章 一个世纪的股市历史 1972年年初的股价水平 股市周期性 股价 利润
  • 【千律】C++基础:获取数组中的最大值和最小值

    include
  • springboot中的json、gson、fastjson如何使用与日期格式转换

    关于如何引用json gson fastjson srpngboot中默认用的是json格式 如果需要使用gson和fastjson其中一种格式的话 首先需要在pom文件中排除对json格式的依赖 再去引入你想要gson或者fastjson