原文链接:https://blog.csdn.net/qq1170993239/article/details/105378846
Fastjson的SerializerFeature序列化
属性:
QuoteFieldNames——输出key时是否使用双引号,默认为true
WriteMapNullValue——是否输出值为null的字段,默认为false
WriteNullNumberAsZero——数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty——List字段如果为null,输出为[],而非null
WriteNullStringAsEmpty——字符类型字段如果为null,输出为”“,而非null
WriteNullBooleanAsFalse——Boolean字段如果为null,输出为false,而非null
解决办法:
使用示例:
JSON.toJSONString(bean, SerializerFeature.WriteMapNullValue,SerializerFeature.WriteNullStringAsEmpty));
附加场景描述:当前端数据通过fastjson序列化传到后端,调用数据库端口时属性为null,放到数据库进行判断处理?
这时候可以使用FastJSON提供的@JSONField中有一个属性serialzeFeatures,这个可以进行判空处理,当为null值时,该属性不进行序列化。
@JSONField(serialzeFeatures=SerializerFeature.WriteMapNullValue,name="user_name")
private String userName;