Fastjson生成json时Null属性不显示

Fastjson生成json时Null属性不显示
2015年08月07日 09:01:15
阅读数:13481
举个例子

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序列化属性
–来自oschina bfleeee博客

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

阅读更多

扫码向博主提问

去开通我的Chat快问

u014692324

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • javaweb
  • 数据库
  • javaScript
  • 微服务
文章标签: fastjson 序列化
个人分类: javaee javase
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Fastjson生成json时Null属性不显示

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭