加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

fastjson生成json时Null属性不显示

发布时间:2020-12-16 19:36:16 所属栏目:百科 来源:网络整理
导读:举个例子 生成JSON代码片段 [java] 预览 复制 MapString,ObjectjsonMap= new HashMapString,Object(); jsonMap.put( "a" , 1 ); jsonMap.put( "b" , "" ); jsonMap.put( "c" , null ); jsonMap.put( "d" , "wuzhuti.cn" ); Stringstr=JSONObject.toJSONStrin

举个例子

生成JSON代码片段

[java] 预览 复制
  1. Map<String,Object>jsonMap=newHashMap<String,Object>();
  2. jsonMap.put("a",1);
  3. jsonMap.put("b","");
  4. jsonMap.put("c",null);
  5. jsonMap.put("d","wuzhuti.cn");
  6. Stringstr=JSONObject.toJSONString(jsonMap);
  7. System.out.println(str);
  8. //输出结果:{"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

代码

复制
    Stringstr=JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读