全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

个人使用比较习惯的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 


相关文章: 如何在宝塔面板中修改默认建站目录?  SQL查询语句优化的实用方法总结  c# 在高并发下使用反射发射(Reflection.Emit)的性能  建站之星安装步骤有哪些常见问题?  如何在IIS7中新建站点?详细步骤解析  如何在建站之星网店版论坛获取技术支持?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  微信h5制作网站有哪些,免费微信H5页面制作工具?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  如何选择可靠的免备案建站服务器?  如何在IIS中配置站点IP、端口及主机头?  网站制作公司,橙子建站是合法的吗?  如何自定义建站之星模板颜色并下载新样式?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  无锡营销型网站制作公司,无锡网选车牌流程?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  Python路径拼接规范_跨平台处理说明【指导】  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  如何快速辨别茅台真假?关键步骤解析  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  如何用IIS7快速搭建并优化网站站点?  设计网站制作公司有哪些,制作网页教程?  个人网站制作流程图片大全,个人网站如何注销?  如何在建站主机中优化服务器配置?  如何批量查询域名的建站时间记录?  如何制作算命网站,怎么注册算命网站?  建站之星各版本价格是多少?  大连 网站制作,大连天途有线官网?  如何确保FTP站点访问权限与数据传输安全?  简单实现Android文件上传  教学网站制作软件,学习*后期制作的网站有哪些?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  招商网站制作流程,网站招商广告语?  C#如何使用XPathNavigator高效查询XML  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  建站之星安装路径如何正确选择及配置?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  移民网站制作流程,怎么看加拿大移民官网?  C++如何使用std::optional?(处理可选值)  实现虚拟支付需哪些建站技术支撑?  建站之星后台管理如何实现高效配置?  制作电商网页,电商供应链怎么做?  北京专业网站制作设计师招聘,北京白云观官方网站?  网站企业制作流程,用什么语言做企业网站比较好?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  大型企业网站制作流程,做网站需要注册公司吗?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。