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&le.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
fastjson怎么用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;
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论