Fastjson生成json时Null属性不显示

[java]预览复制

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

代码

[java]预览复制

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,803评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,087评论 19 139
  • 我回来了 2016年10月3号 广州 fly to 上海 2016年10月6号 上海 fly to 广州 旅游的梦...
    小猫咪不吃大鲤鱼阅读 147评论 0 0
  • 少年虽年少,却总是喜欢原始的、最初的、本来的、究竟的东西,一直认为我们现代科学中的数学是计算,但数字最初不是用来计...
    智启航阅读 303评论 0 0
  • 1. float - 浮动 2. absolute - 绝对定位 3. disply:table 给父元素加上 d...
    LYF闲闲闲闲阅读 8,182评论 1 3