fastjson默认序列化行为:
默认SerializerFeature.WriteNullListAsEmpty
默认SerializerFeature.WriteNullStringAsEmpty
默认SerializerFeature.WriteNullBooleanAsFalse
默认SerializerFeature.WriteNullNumberAsZero
fastjson空值处理源码:
代码逻辑:当bean字段有@JSONField注解,其serialzeFeatures值有且仅有SerializerFeature.WriteMapNullValue值时,序列化为null,否则按默认逻辑(序列化为对应得默认值)
& 是按位“与”,都1得1
| 是按位“或”,有1得1
~ 是按位取反,如4按位取反后得-5
当需要输出null值时,在字段上增加注解即可
@JSONField(serialzeFeatures = SerializerFeature.WriteMapNullValue)
@ApiModelProperty("显示宽度")
private Integer displayWidth;