1、首先,为啥要知道这个东西呢?
因为现在项目基本都是前后端分离,操作的话一般都是返回json串,但是会有这种情况,加入你put一个key和value的时候,如果value是空,那么等你返回给前台的时候,前台就连这个key也拿不到了,就直接省掉了(相当于过滤掉了)
加上SerializerFeature就不会自动过滤了,返回什么就是什么,比如JSON.toJSONString的时候,如果加上SerializerFeature.WriteMapNullValue这个参数,那么value为空的,前台也能看到key,不会被过滤。(因为下面写了,WriteMapNullValue——–是否输出值为null的字段,默认为false )
2、具体来看一下他常用的属性
fastjson SerializerFeature有很多序列化属性,想研究的可以看源码,大约30+个属性,常用的就下面6个
QuoteFieldNames———-输出key时是否使用双引号,默认为true
WriteMapNullValue——–是否输出值为null的字段,默认为false
WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null
WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null
WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null