zoukankan      html  css  js  c++  java
  • fastjson生成json时Null属性不显示的解决方法

    举个例子

    Map < String , Object > jsonMap = new HashMap< String , Object>(); 
    jsonMap.put("a",1); 
    jsonMap.put("b",""); 
    jsonMap.put("c",null); 
    jsonMap.put("d","wuzhuti.cn"); 
      
    String str = JSONObject.toJSONString(jsonMap); 
    System.out.println(str); 
    //输出结果:{"a":1,"b":"",d:"wuzhuti.cn"} 
    

    从输出结果可以看出,null对应的key已经被过滤掉;这明显不是我们想要的结果,这时我们就需要用到fastjson的SerializerFeature序列化属性

    也就是这个方法:JSONObject.toJSONString(Object object, SerializerFeature... features)

    Fastjson的SerializerFeature序列化属性

    QuoteFieldNames———-输出key时是否使用双引号,默认为true

    WriteMapNullValue——–是否输出值为null的字段,默认为false

    WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null

    WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null

    WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null

    WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null

    代码


    Map < String , Object > jsonMap = new HashMap< String , Object>(); 
    jsonMap.put("a",1); 
    jsonMap.put("b",""); 
    jsonMap.put("c",null); 
    jsonMap.put("d","wuzhuti.cn"); 
      
    String str = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue); 
    System.out.println(str); 
    //输出结果:{"a":1,"b":"","c":null,"d":"wuzhuti.cn"} 
    

  • 相关阅读:
    重复的listen port引发的问题
    Win10开始运行不保存历史记录原因和解决方法
    意识到const版本函数的重要性
    人物访谈1
    人物访谈2
    读《浪潮之巅》有感
    测试作业
    读《活出生命的意义》有感
    价值观作业
    关于C语言的问卷调查
  • 原文地址:https://www.cnblogs.com/zhuhui-site/p/10090640.html
Copyright © 2011-2022 走看看