一、前言
在接受前端传过来的数据的时候,map中有value为null的值,在后续传参的时候,json化会把value为null的key丢弃掉。以JSON.toJSONString()为例。去掉 JSON.toJSONString()空字段忽略方法如下所示:
方法一:
SerializerFeature序列化属性
String s = JSON.toJSONString(user, SerializerFeature.WriteNullStringAsEmpty);
QuoteFieldNames———-输出key时是否使用双引号,默认为true
WriteMapNullValue——–是否输出值为null的字段,默认为false
WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null
WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null
WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非nul
方法二:ValueFilter过滤器
ValueFilter valueFilter = (o, s, o1) -> o1 == null ? "" : o1;
user = JSON.parseObject(JSON.toJSONString(user, valueFilter),User.class);