簡單介紹實體類或物件序列化時,忽略為空屬性的操作
導讀 | 這篇文章主要介紹了實體類或物件序列化時,忽略為空屬性的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教 |
在application.xml直接配置,這種方式是全域性配置,所有返回給前端物件的屬性為null或""都不進行序列化;
spring: jackson: #實體類轉json時欄位為null不參與序列化 default-property-inclusion: NON_EMPTY default-property-inclusion 常用的4種型別 ALWAYS 預設 NON_DEFAULT 屬性為預設值不序列化 NON_EMPTY 屬性為 “” 或者為NULL都不序列化 NON_NULL 屬性為NULL時不序列化
給為空時需要忽略序列化的物件屬性加 @JsonInclude(Include.NON_NULL),也可以直接加到類上,表示一整個物件的屬性為null時都不參與序列化;
Include.Include.ALWAYS 預設
Include.NON_DEFAULT 屬性為預設值不序列化
Include.NON_EMPTY 屬性為 “” 或者為NULL都不序列化
Include.NON_NULL 屬性為NULL時不序列化
如果配置了全域性,又給某個物件進行註解方式的設定,註解方式會覆蓋全域性的設定。
由於有的時候我們返回的資料中存在屬性沒有值得情況,或者是屬性的值為空白字串,這會浪費網路流量,又或者是前端框架存在的bug會導致null值或者是空白字串在渲染的時候會報錯。
全域性的方式:在SpringBoot的配置檔案中新增以下屬性,即可達到全域性過濾
spring.jackson.default-property-inclusion=non_empty
區域性的方式:在返回的實體類屬性或者是類名上新增以下註解,即可達到過濾效果
@JsonInclude(JsonInclude.Include.NON_EMPTY)
注意
這種方式對於空集合也是成立的。屬性一共有如下值可選
Include.Include.ALWAYS 預設
Include.NON_DEFAULT 屬性為預設值不序列化
Include.NON_EMPTY 屬性為 空(“”) 或者為 NULL 都不序列化
Include.NON_NULL 屬性為NULL 不序列化
以上為個人經驗,希望能給大家一個參考。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2841925/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- EAV(實體-屬性-值)模型簡單介紹模型
- python中類物件及類屬性的介紹Python物件
- 簡單介紹C#使用物件序列化類庫MessasgePackC#物件
- JSON物件簡單介紹JSON物件
- Python 複數屬性及操作介紹Python
- Java物件為空時,不顯示該物件屬性,或者將null轉換為""Java物件Null
- 課時36:類與物件:給大家介紹物件物件
- JavaScript ----- 操作DOM物件的屬性JavaScript物件
- Rust 屬性介紹Rust
- CAD屬性編輯操作——物件屬性教程物件
- 簡單介紹redux的中介軟體Redux
- Scala的類、屬性、物件欄位物件
- 工控機的軟體的簡單介紹
- 關於python操作excel,xlwt,xlwd,最簡單的操作介紹PythonExcel
- 簡單介紹NMS的實現方法
- smartctl 屬性資訊介紹
- 實體類為啥要序列化
- Webpack 的簡單介紹Web
- AOP的簡單介紹
- css盒子模型的屬性介紹CSS模型
- 簡單介紹Android自定義View實現時鐘功能AndroidView
- Java:對一個物件序列化和反序列化的簡單實現Java物件
- 數字作為物件的屬性物件
- Javascript 如何判斷物件為空 {},以及是否包含某個屬性?JavaScript物件
- 理解Python中的類物件、例項物件、屬性、方法Python物件
- vue監聽input是否為空(監聽值為物件某個屬性)Vue物件
- 一、訪問物件屬性和方法的操作物件
- form表單的簡單介紹ORM
- Flownet 介紹 及光流的簡單介紹
- RPC模式的介紹以及簡單的實現RPC模式
- PHP 物件導向 (二)類屬性PHP物件
- 【CSS系列】被忽略的content屬性CSS
- 原生Ajax的簡單使用:XMLHttpRequest物件,方法,屬性,HelloWorld,資料格式XMLHTTP物件
- 簡單介紹Shell中的定時任務 crontab
- RPC簡單介紹RPC
- Python簡單介紹Python
- KVM簡單介紹
- RMI簡單介紹