使用FastJson解析JSON数据
spring boot默认的json使用起来比较不习惯,所以很自然我就想我能不能使用fastjson进行json解析呢?
引入fastjson依赖库
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.15</version>
</dependency>
这里要说下很重要的话,官方文档说的1.2.10以后,会有两个方法支持HttpMessageconvert,一个是FastJsonHttpMessageConverter,支持4.2以下的版本,一个是FastJsonHttpMessageConverter4支持4.2以上的版本,具体有什么区别暂时没有深入研究。这里也就是说:低版本的就不支持了,所以这里最低要求就是1.2.10+。
配置fastjon(支持两种方法)
•第一种方法就是:
•(1)启动类继承extends WebMvcConfigurerAdapter
•(2)覆盖方法configureMessageConverters
第一种方式代码
•@SpringBootApplication
•public class ApiCoreApp extends WebMvcConfigurerAdapter {
•
• @Override
• public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
• super.configureMessageConverters(converters);
•
• FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
•
• FastJsonConfig fastJsonConfig = new FastJsonConfig();
• fastJsonConfig.setSerializerFeatures(
• SerializerFeature.PrettyFormat
• );
• fastConverter.setFastJsonConfig(fastJsonConfig);
•
• converters.add(fastConverter);
• }
•}
第二种方法
•(1)在App.java启动类中,
•注入Bean : HttpMessageConverters
第二种方式代码
@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
fastConverter.setFastJsonConfig(fastJsonConfig);
HttpMessageConverter<?> converter = fastConverter;
return new HttpMessageConverters(converter);
}