public static void main(String[] args) {
Map<String, String> map= new HashMap<>();
map.put("key1", null);
map.put("key2"," 111");
map.put("key3"," 222");
map.put("key4"," 111");
map.put("key5"," 111");
log.info(JSON.toJSONString(map));
}
// 输出为:{"key2":" 111","key5":" 111","key3":" 222","key4":" 111"}
使用:JSON.toJSONString(map, SerializerFeature.WriteMapNullValue) 指定序列化方式就打印出来了。
public static void main(String[] args) {
Map<String, String> map= new HashMap<>();
map.put("key1", null);
map.put("key2"," 111");
map.put("key3"," 222");
map.put("key4"," 111");
map.put("key5"," 111");
log.info(JSON.toJSONString(map));
log.info(JSON.toJSONString(map,SerializerFeature.WriteMapNullValue));
}
// {"key1":null,"key2":" 111","key5":" 111","key3":" 222","key4":" 111"}
使用下面fastjson内置的几种策略,通过名字大家基本上知道它们的作用
SerializerFeature.PrettyFormat // **结果是否格式化**,默认为false
SerializerFeature.WriteNullListAsEmpty, //**List字段如果为null,输出为[],而非null**
SerializerFeature.WriteNullStringAsEmpty, //**字符类型字段如果为null,输出为”“,而非null**
SerializerFeature.WriteNullBooleanAsFalse, // **数值字段如果为null,输出为0,而非null**
SerializerFeature.WriteNullNumberAsZero //**Boolean字段如果为null,输出为false,而非null**
SerializerFeature.WriteMapNullValue // **是否输出值为null的字段**,默认为false