赞
踩
使用JSON.toJSONString(object)方法,返回的json中,null对应的key已经被过滤掉,这是因为默认会将为空的字段自动忽略,这明显不是我们想要的结果。 去掉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
加上这个过滤器后,所有的null和"“串都会被转换成”"值输出到字符串中
private static ValueFilter valueFilter = (o, s, o1) -> o1 == null ? "" : o1;
public static void main(String[] args) {
User user = new User();
String s = JSON.toJSONString(user, valueFilter);
System.out.println(s);
}
private static ValueFilter valueFilter = (o, s, o1) -> o1 == null ? "" : o1;
public static void main(String[] args) {
User user = new User();
String s1 = JSON.toJSONString(user);
System.out.println(s1);
String s2 = JSON.toJSONString(user, SerializerFeature.WriteNullStringAsEmpty);
System.out.println(s2);
String s3 = JSON.toJSONString(user, valueFilter);
System.out.println(s3);
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。