跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Spring Boot使用FastJson解析JSON数据的方法

个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析呢?

1.引入fastjson依赖库:

com.alibabafastjson1.2.16

2.配置fastjson

这里要说下很重要的话,官方文档说的1.2.10以后,会有两个方法支持HttpMessageconvert,一个是FastJsonHttpMessageConverter,支持4.2以下的版本,一个是FastJsonHttpMessageConverter4支持4.2以上的版本,具体有什么区别暂时没有深入研究。这里也就是说:低版本的就不支持了,所以这里最低要求就是1.2.10+

方式一:

(1)启动类继承WebMvcConfigurerAdapter(2)覆盖方法configureMessageConverters

具体代码:

@SpringBootApplication // 申明让spring boot自动给程序进行必要的配置,等价于以默认属性使用@Configuration,@EnableAutoConfiguration和@ComponentScan public class Application extends WebMvcConfigurerAdapter{

@Override public void configureMessageConverters(List> converters) {super.configureMessageConverters(converters);

// 初始化转换器FastJsonHttpMessageConverter fastConvert = new FastJsonHttpMessageConverter();// 初始化一个转换器配置FastJsonConfig fastJsonConfig = new FastJsonConfig();fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);// 将配置设置给转换器并添加到HttpMessageConverter转换器列表中fastConvert.setFastJsonConfig(fastJsonConfig);

converters.add(fastConvert);}

public static void main(String[] args) {SpringApplication.run(Application.class, args);}}

方式二:

在配置类或启动类中,注入Bean : HttpMessageConverters/*** Bean配置管理* Created by surpass.wei@gmail.com on 2017/2/21.

*/@Configuration public class BeanConfig {

/*注入Bean : HttpMessageConverters,以支持fastjson*/@Bean public HttpMessageConverters fastJsonHttpMessageConverters() {FastJsonHttpMessageConverter fastConvert = new FastJsonHttpMessageConverter();FastJsonConfig fastJsonConfig = new FastJsonConfig();fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);fastConvert.setFastJsonConfig(fastJsonConfig);return new HttpMessageConverters((HttpMessageConverter) fastConvert);}}

配置完成后,在实体类中使用@JSONField(serialize=false),是不是此字段就不返回了,如果是的话,那么恭喜你配置成功了,其中JSONField的包路径是:com.alibaba.fastjson.annotation.JSONField

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:springboot中使用FastJson解决long类型在js中失去精度的问题SpringBoot整合Gson 整合Fastjson的实例详解SpringBoot如何使用Fastjson解析Json数据springboot中用fastjson处理返回值为null的属性值使用SpringBoot+OkHttp+fastjson实现Github的OAuth第三方登录SpringBoot整合FastJson过程解析SpringBoot Redis配置Fastjson进行序列化和反序列化实现springboot实现FastJson解析json数据的方法Spring boot详解fastjson过滤字段为null值如何解决

相关文章