欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Fastjson转换为JSON字符串时丢失Null值字段

程序员文章站 2024-03-16 09:18:34
...

原文链接: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;