JSON.toJSONString()空字段不忽略修改

编程入门 行业动态 更新时间:2024-10-26 11:25:23

JSON.toJSONString()空<a href=https://www.elefans.com/category/jswz/34/1771443.html style=字段不忽略修改"/>

JSON.toJSONString()空字段不忽略修改

使用JSON.toJSONString(object)方法,返回的json中,null对应的key已经被过滤掉,这是因为默认会将为空的字段自动忽略,这明显不是我们想要的结果。 去掉JSON.toJSONString()空字段忽略方法两个如下

  1. 方法一

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

  1. 方法二

加上这个过滤器后,所有的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);}
  1. 测试代码如下
    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);}
  1. 测试结果如下

更多推荐

JSON.toJSONString()空字段不忽略修改

本文发布于:2024-03-14 17:15:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1736953.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字段   JSON   toJSONString

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!