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