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

关于如何引用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;
    }
}    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值