打印fastjson對象時,如果內部鍵值爲null,則該鍵不會打印出來

Q:問題描述

打印JSON對象時,如果內部鍵值爲null,則該鍵不會打印出來。 
JSONObject{“a”:1,”b”:”“,”c”:null,”d”:”loongshawn”} 
打印出來JSONObject{“a”:1,”b”:”“,”d”:”loongshawn”},作如何解釋…

A:解釋說明

輸入輸出空值

在fastjson中,缺省是不輸出空值的。無論Map中的null和對象屬性中的null,序列化的時候都會被忽略不輸出,這樣會減少產生文本的大小。但如果需要輸出空值怎麼做呢?

使用SerializerFeature.WriteMapNullValue

Model obj = …; 
JSON.toJSONString(obj, SerializerFeature.WriteMapNullValue);

空值特別處理

SerializerFeature 描述 
WriteNullListAsEmpty 將Collection類型字段的字段空值輸出爲[] 
WriteNullStringAsEmpty 將字符串類型字段的空值輸出爲空字符串 “” 
WriteNullNumberAsZero 將數值類型字段的空值輸出爲0 
WriteNullBooleanAsFalse 將Boolean類型字段的空值輸出爲false

class Model {
      public List<Objec> items;
}

Model obj = ....;

String text = JSON.toJSONString(obj, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullListAsEmpty);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章