本章介绍
fastJson是阿里巴巴旗下的一个开源项目之一,顾名思义它专门用来做快速操作Json的序列化与反序列化的组件。它是目前json解析最快的开源组件没有之一!在这之前jaskJson是命名为快速操作json的工具,而当阿里巴巴的fastJson诞生后jaskjson就消声匿迹了,不过目前很多项目还在使用。
本章目标
将fastJson加入到SpringBoot项目内,配置json返回视图使用fastJson解析。
一、配置SpringBoot对FastJson的支持
注意:上一章节我们已经添加了fastJson的jar,本章我们主要看一下配置fastjson的返回视图,配置代码如图一所示:
图一
添加完成依赖后我们把上一章的实体类、控制器、JPA复制到我们当前项目下,我们就不重复讲解如何创建这些简单的实体类了。如下图2所示:
图二
接下来创建一个FastJsonConfiguration配置信息类,添加@Configuration注解让SpringBoot自动加载类内的配置,有一点要注意我们继承了WebMvcConfigurerAdapter这个类,这个类是SpringBoot内部提供专门处理用户自行添加的配置,包含了修改视图的过滤还有其他很多的方法。
fastJson视图过滤配置详细内容如下图3所示:
图三
上述图3 内fastJson配置实体调用setSerializerFeatures方法可以配置多个过滤方式。
最后运行项目
经过上述的配置我们基本完成对了SpringBoot整合FastJson的内容,我们接下来尝试运行下项目,如下图4所示:
图四
可以看到我们的项目正常运行了,,我们访问之前编写的查询列表的请求,看是否给我返回了相应的数据,访问地址:127.0.0.1:8080/user/list,接下来修改FastJsonConfiguration类内的setSerializerFeatures方法,再添加一个配置WriteNullStringAsEmpty,我们再次重启项目访问用户列表地址效果如何?修改配置如下图5所示:
图五
我们为""的address字段设置了NULL,返回视图如图六所示:
图六
总结
上面我们本章的全部讲解内容,本章主要讲解了SpringBoot项目如何将返回的消息从内部的Json转换变成fastJson转换,如何添加fastJson的转换器过滤配置SerializerFeature。因为@RestControll注解的Controller本身返回值就是json字符串,也可以@Controller和@ResponseBody配合返回json,我们上述fastJson过滤器配置所有过程。