解决fastjson 不输出空字符串设置fastjson 空值也显⽰
问题背景
从输出结果可以看出,只要value为空,key的值就会被过滤掉,这明显不是我们想要的结果,会导致⼀些坑爹的⾏为。解决⽅案
这时我们就需要⽤到的SerializerFeature序列化属性,也就是这个⽅法:
SerializerFeature有⽤的⼀些枚举值
QuoteFieldNames———-输出key时是否使⽤双引号,默认为true
WriteMapNullValue——–是否输出值为null的字段,默认为false
WriteNullNumberAsZero—-数值字段如果为null,输出为0,⽽⾮null
WriteNullListAsEmpty—–List字段如果为null,输出为[],⽽⾮null
WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,⽽⾮null
WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,⽽⾮null
如果是⼏句代码,直接就String jsonStr =
1
2
3
4
5
6
7
8
fastjson忽略属性9
10
11
1
package com.softdev.fig;import java.nio.charset.Charset;import java.util.ArrayList;import java.util.List;import com.alibaba.fastjson.serializer.SerializerFeature;import org.springframework.boot.autoconfigure.http.HttpMessageConverters;import t.annotation.Bean;import t.annotation.Configuration;import org.springframework.http.MediaType;import org.verter.StringHttpMessageCo
nverter;import com.alibaba.fig.FastJsonConfig;import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;/** * 添加fastjson 的转换 */@Configuration public class FastjsonConverter { @Bean public HttpMessageConverters customConverters() { // 定义⼀个转换消息的对象 FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); // 添加fastjson 的配置信息 ⽐如 :是否要格式化返回的json 数据 FastJsonConfig fastJsonConfig = new FastJsonConfig(); // 这⾥就是核⼼代码了,WriteMapNullValue 把空的值的key 也返回 fastJsonConfig.setSerializerFeatures(SerializerFeature.WriteMapNullValue); List<MediaType> fastMediaTypes = new ArrayList<MediaType>(); // 处理中⽂乱码问题 fastJsonConfig.setCharset(Charset.forName("UTF-8")); fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); fastConverter.setSupportedMediaTypes(fastMediaTypes); // 在转换器中添加配置信息 fastConverter.setFastJsonConfig(fastJsonConfig); StringHttpMessageConverter stringConverter = new StringHttpMessageConverter(); stringConverter.setDefaultCharset(Charset.forName("UTF-8")); stringConverter.setSupportedMediaTypes(fastMediaTypes); // 将转换器添加到converters 中 return new HttpMessageConverters(stringConverter,fastConverter); }}12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论