fastjson转换为json字符串时丢失null值字段

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;

你可能感兴趣的:(JAVA,fastjson)