天天看點

使用fastjson 過濾控制的一點小體會

當使用 toJSONString() 這個方法時,會預設把對象中的null屬性的值過濾掉。我們有時候就需要這些null。隻需要按照下面的方法即可

方法 一 :設定轉換時不過濾null (網上查的大多都是這種)

QuoteFieldNames———-輸出key時是否使用雙引号,預設為true

WriteMapNullValue——–是否輸出值為null的字段,預設為false

WriteNullNumberAsZero—-數值字段如果為null,輸出為0,而非null

WriteNullListAsEmpty—–List字段如果為null,輸出為[],而非null

WriteNullStringAsEmpty—字元類型字段如果為null,輸出為”“,而非null

WriteNullBooleanAsFalse–Boolean字段如果為null,輸出為false,而非null

JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue);

方法二 :使用@JSONField标簽,用來指定字段不過濾

在字段上加這個注解,當字段為空時,也會傳回。

   @JSONField(serialzeFeatures = SerializerFeature.WriteMapNullValue)

    private Long passengerId;