网站建设丿选择金手指15,推广网络怎么做,谷歌流量代理代理,电子商务网站流程设计fastJson是阿里巴巴旗下的一个开源项目之一#xff0c;顾名思义它专门用来做快速操作Json的序列化与反序列化的组件。它是目前json解析最快的开源组件没有之一#xff01;在这之前jaskJson是命名为快速操作json的工具#xff0c;而当阿里巴巴的fastJson诞生后jaskjson就消声…fastJson是阿里巴巴旗下的一个开源项目之一顾名思义它专门用来做快速操作Json的序列化与反序列化的组件。它是目前json解析最快的开源组件没有之一在这之前jaskJson是命名为快速操作json的工具而当阿里巴巴的fastJson诞生后jaskjson就消声匿迹了不过目前很多项目还在使用。本章目标将fastJson加入到SpringBoot项目内配置json返回视图使用fastJson解析。创建SpringBoot项目看过我前几章的程序猿们都知道我们通过IntelliJ IDEA工具创建SpringBoot项目我们本章也不例外具体创建步骤这里就不多做解释了最终项目结构如下图1所示图1可以看到我们事先导入了,Web、MySQL、JPA组件我们把上一章的application.yml配置文件复制到我们的项目对应的目录下并且修改pom.xml添加Druid的支持。如下图2所示图2注意图2中的spring-boot-stater-tomcat依赖的scope属性一定要注释掉我们才能在IntelliJ IDEA工具使用SpringBootApplication的形式运行项目完成上述配置后我们接下来将fastJson的maven依赖也添加进我们的pom.xml配置文件中。添加依赖跟我们上一章很相似我们需要到maven仓库复制对应的maven依赖xml配置到我们项目的pom.xml中。访问仓库地址mvnrepository.com/artifact/co…这里我们使用fastJson最新版本我们当访问fastJson的列表界面时可以看到阿里巴巴2017年就发布了很多个版本证明阿里巴巴一直在维护并且升级版本所以我们可以大胆的放心使用。添加效果图如下图3所示图3添加完成依赖后我们把上一章的实体类、控制器、JPA复制到我们当前项目下我们就不重复讲解如何创建这些简单的实体类了。如下图4所示图4我们接下来创建一个FastJsonConfiguration配置信息类添加Configuration注解让SpringBoot自动加载类内的配置有一点要注意我们继承了WebMvcConfigurerAdapter这个类这个类是SpringBoot内部提供专门处理用户自行添加的配置里面不仅仅包含了修改视图的过滤还有其他很多的方法包括我们后面章节要讲到的拦截器过滤器Cors配置等。fastJson视图过滤配置详细内容如下图5所示图5上述图5内fastJson配置实体调用setSerializerFeatures方法可以配置多个过滤方式下面我们来介绍下常用的SerializerFeatures配置。FastJson SerializerFeaturesWriteNullListAsEmpty List字段如果为null,输出为[],而非nullWriteNullStringAsEmpty 字符类型字段如果为null,输出为,而非nullDisableCircularReferenceDetect 消除对同一对象循环引用的问题默认为false如果不配置有可能会进入死循环WriteNullBooleanAsFalseBoolean字段如果为null,输出为false,而非nullWriteMapNullValue是否输出值为null的字段,默认为false。项目初尝试运行经过上述的配置我们基本完成对了SpringBoot整合FastJson的内容我们接下来尝试运行下项目如下图6所示图6可以看到我们的项目正常运行了我们访问之前编写的查询列表的请求看是否给我返回了相应的数据访问地址127.0.0.1:8080/user/list如下图7所示图7可以看到我们得到了我们想要的结果那么接下来我们该如何去测试fastJson是否已经生效了呢我们上述的配置中添加一个SerializerFeaturesWriteMapNullValue这个配置的含义就是输入为NULL值的字段我们尝试修改数据库中的name为NULL看看效果如何如下图8所示图8我们可以看到我们将之前的name为test的name字段设置了NULL我们请求列表接口还是可以得到该字段的但是字段返回是没有值得。接下来修改FastJsonConfiguration类内的setSerializerFeatures方法再添加一个配置WriteNullStringAsEmpty我们再次重启项目访问用户列表地址效果如何修改配置如下图9所示图9配置修改完成后重启我们的项目程序访问用户列表请求地址得到的返回结果如下图10所示图10可以看到上述图10内的红色标记处name的值从NULL变成了那么证明我们的fastJson消息的转换配置完美生效了。如果你的效果不是上图10所示请检查FastJsonConfiguration配置以及maven依赖问题。总结以上便是我们本章的全部讲解内容本章主要讲解了SpringBoot项目如何将返回的消息从内部的Json转换变成fastJson转换如何添加fastJson的转换器过滤配置SerializerFeature。因为ResultControll注解的Controller本身返回值就是json字符串我们上述讲解通过两次修改fastJson过滤器配置的方式见证了fastJson的神奇效果。本上内容已经上传到码云SpringBoot配套源码地址gitee.com/hengboy/spr…SpringCloud配套源码地址gitee.com/hengboy/spr…SpringBoot相关系列文章请访问目录SpringBoot学习目录QueryDSL相关系列文章请访问QueryDSL通用查询框架学习目录SpringDataJPA相关系列文章请访问目录SpringDataJPA学习目录SpringBoot相关文章请访问目录SpringBoot学习目录感谢阅读欢迎加入QQ技术交流群共同进步。QQ技术交流群