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

发布时间 - 2026-01-10 23:15:06    点击率:

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

1.引入fastjson依赖库:

<!--添加fastjson解析JSON数据-->
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>fastjson</artifactId>
  <version>1.2.16</version>
</dependency>

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<HttpMessageConverter<?>> 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

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


# spring  # boot  # 解析json  # fastjson  # 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值如何解决  # 就不  # 类中  # 会有  # 我能  # 很重要  # 暂时没有  # 有什么区别  # 恭喜你  # 大家多多  # 我就想  # 也就是说  # 文档  # 配置管理  # 完成后  # 列表中  # HttpMessageconvert  # SpringBootApplication  # Configuration  # configureMessageConverters  # br 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 韩国服务器如何优化跨境访问实现高效连接?  如何挑选优质建站一级代理提升网站排名?  如何快速搭建高效服务器建站系统?  如何在万网主机上快速搭建网站?  如何快速查询网站的真实建站时间?  浅谈Javascript中的Label语句  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  长沙做网站要多少钱,长沙国安网络怎么样?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  免费网站制作appp,免费制作app哪个平台好?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  jQuery中的100个技巧汇总  如何自定义建站之星网站的导航菜单样式?  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  网站页面设计需要考虑到这些问题  Laravel distinct去重查询_Laravel Eloquent去重方法  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  Python并发异常传播_错误处理解析【教程】  香港服务器选型指南:免备案配置与高效建站方案解析  LinuxShell函数封装方法_脚本复用设计思路【教程】  如何在企业微信快速生成手机电脑官网?  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  EditPlus中的正则表达式 实战(4)  大型企业网站制作流程,做网站需要注册公司吗?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  历史网站制作软件,华为如何找回被删除的网站?  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  昵图网官网入口 昵图网素材平台官方入口  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  Laravel如何实现API资源集合?(Resource Collection教程)  如何在宝塔面板创建新站点?  西安专业网站制作公司有哪些,陕西省建行官方网站?  python中快速进行多个字符替换的方法小结  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  三星、SK海力士获美批准:可向中国出口芯片制造设备  googleplay官方入口在哪里_Google Play官方商店快速入口指南  无锡营销型网站制作公司,无锡网选车牌流程?  Laravel如何使用.env文件管理环境变量?(最佳实践)  详解CentOS6.5 安装 MySQL5.1.71的方法  微信小程序 wx.uploadFile无法上传解决办法  如何实现建站之星域名转发设置?  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  BootStrap整体框架之基础布局组件  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧