SpringBoot集成FastJsonHTTP消息转换器

概述

使用fastjson作为Springboot的HttpMessageConverter,即在Web中返回@ResponseBody时使用的将对象、集合等转为Json的转换器.

  1. 在maven中添加依赖
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.58</version>
</dependency>
  1. 在配置中添加一个HttpMessageConverters的Bean
@Bean
public HttpMessageConverters fastJsonHttpMessageConverter()
{
    //使用FastJson作为HTTP的序列换和反序列工具
    // 1.定义Converter转换器对象
    FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
    // 2.1设置转换器的配置信息
    FastJsonConfig config = new FastJsonConfig();
    config.setSerializerFeatures(SerializerFeature.WriteNullStringAsEmpty);
    // 2.2设置编码,处理中文乱码
    converter.setDefaultCharset(Charset.forName("UTF-8"));
    config.setCharset(Charset.forName("UTF-8"));
    // 3.将设置添加到转换器中
    converter.setFastJsonConfig(config);
    // 4.将转换器转为HttpMessageConverter并返回
    HttpMessageConverter<Object> ret = converter;
    return new HttpMessageConverters(ret);
}
  1. 完成配置

相关知识

SerializerFeatures常用枚举
  • WriteNullListAsEmpty:List字段如果为null,输出为[],而非null
  • WriteNullStringAsEmpty:字符类型字段如果为null,输出为"",而非null
  • DisableCircularReferenceDetect:消除对同一对象循环引用的问题,默认为false(如果不配置有可能会进入死循环)
  • WriteNullBooleanAsFalse:Boolean字段如果为null,输出为false,而非null
  • WriteMapNullValue:是否输出值为null的字段,默认为false
  • PrettyFormat:有以上的特性,也就是以漂亮格式进行转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值