fastjson 调用toJSONString方法,value为null所对应的key被舍弃
描述
fastjson的使用过程中,当调用JSONObject对象的toJSONString()方法,将对象格式化为json字符串时。若某个key的value为null时,这个key在最总的字符串中将被舍弃。
解释
默认情况下,toJSONString 方法不会包含值为 null 的键。
当传递 SerializerFeature.WriteMapNullValue 参数时,它会确保值为 null 的键也被包含在最终的 JSON 字符串中。
SerializerFeature 介绍
SerializerFeature 类提供了多种序列化特性
- WriteMapNullValue: 保留值为 null 的键。
- WriteNullBooleanAsFalse: 将布尔值 null 序列化为 false。
- WriteNullNumberAsZero: 将数字类型的 null 序列化为 0。
- WriteNullListAsEmpty: 将 null 的列表序列化为空列表 []。
- WriteNullStringAsEmpty: 将字符串类型的 null 序列化为空字符串 “”。
// 输出保留值为 null 的键的 JSON 字符串
System.out.println("JSON with nulls: " + jsonObject.toJSONString(SerializerFeature.WriteMapNullValue));