1、首先,為啥要知道這個東西呢?
因為現在項目基本都是前后端分離,操作的話一般都是返回json串,但是會有這種情況,加入你put一個key和value的時候,如果value是空,那么等你返回給前台的時候,前台就連這個key也拿不到了,就直接省掉了(相當於過濾掉了)
加上SerializerFeature就不會自動過濾了,返回什么就是什么,比如JSON.toJSONString的時候,如果加上SerializerFeature.WriteMapNullValue這個參數,那么value為空的,前台也能看到key,不會被過濾。(因為下面寫了,WriteMapNullValue——–是否輸出值為null的字段,默認為false )
2、具體來看一下他常用的屬性
fastjson SerializerFeature有很多序列化屬性,想研究的可以看源碼,大約30+個屬性,常用的就下面6個
QuoteFieldNames———-輸出key時是否使用雙引號,默認為true
WriteMapNullValue——–是否輸出值為null的字段,默認為false
WriteNullNumberAsZero—-數值字段如果為null,輸出為0,而非null
WriteNullListAsEmpty—–List字段如果為null,輸出為[],而非null
WriteNullStringAsEmpty—字符類型字段如果為null,輸出為”“,而非null
WriteNullBooleanAsFalse–Boolean字段如果為null,輸出為false,而非null