fastjson @JSONField與SerializerFeature

Moshow鄭鍇發表於2020-04-07
名稱 含義 備註
QuoteFieldNames 輸出key時是否使用雙引號,預設為true
UseSingleQuotes 使用單引號而不是雙引號,預設為false
WriteMapNullValue 是否輸出值為null的欄位,預設為false 常用
WriteEnumUsingToString Enum輸出name()或者original,預設為false
UseISO8601DateFormat Date使用ISO8601格式輸出,預設為false 對於時區,區域格式的問題。一般的解決方案是序列化成iso8601的標準化格式,再配合一些前端日期時間庫解決跨瀏覽器解析JSON時間
WriteNullListAsEmpty List欄位如果為null,輸出為[],而非null
WriteNullStringAsEmpty 字元型別欄位如果為null,輸出為"",而非null 常用
WriteNullNumberAsZero 數值欄位如果為null,輸出為0,而非null 看情況使用,適用於Interger跟int一樣使用
WriteNullBooleanAsFalse Boolean欄位如果為null,輸出為false,而非null 對Boolean跟boolean一樣預設false
SkipTransientField 如果是true,類中的Get方法對應的Field是transient,序列化時將會被忽略。預設為true
SortField 按欄位名稱排序後輸出。預設為false
WriteTabAsSpecial 把\t做轉義輸出,預設為false 不推薦
PrettyFormat 結果是否格式化,預設為false
WriteClassName 序列化時寫入型別資訊,預設為false。反序列化是需用到
DisableCircularReferenceDetect 消除對同一物件迴圈引用的問題,預設為false
WriteSlashAsSpecial 對斜槓’/’進行轉義
BrowserCompatible 將中文都會序列化為\uXXXX格式,位元組數會多一些,但是能相容IE 6,預設為false
WriteDateUseDateFormat 全域性修改日期格式,預設為false。JSON.DEFFAULT_DATE_FORMAT = “yyyy-MM-dd”;JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat); 一般可以單獨為某欄位設立格式化
BeanToArray 將物件轉為array輸出

相關文章