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"} 
    

  • 相关阅读:
    Tutorial中代码的区别及不同效果
    Session
    代码解析&Filter用户授权例子
    web后台运作过程
    工厂纸杯生产流水线管理系统
    Webservice和EJB
    Week8——hashcode()和equals()方法
    Week7——JSON
    Week6——Lifecycle of JSF and Facelets
    Week5——Ajax
  • 原文地址:https://www.cnblogs.com/zhuhui-site/p/10090640.html
Copyright © 2011-2022 走看看