解決@JsonInclude(JsonInclude.Include.NON_NULL)不起作用問題
@JsonInclude(JsonInclude.Include.NON_NULL)不起作用
記錄一下使用@JsonInclude(JsonInclude.Include.NON_NULL)不起作用的原因。
我想要的結果是如果隻給code賦值,其他屬性不賦值,那麼我調用接口返回的結果裡面隻有code。但是遇到其他屬性也存在著的情況(為null)。
原因
我在controller層使用瞭一個抽象controller類,該類裡的A方法會把Object類對象轉換成JSON對象,就是這個A方法的原因,把A去掉就可以瞭,直接返回ReturnResult對象。
@JsonInclude(JsonInclude.Include.NON_NULL)註解
用法含義
為null的字段不序列化
看示例
@JsonInclude(JsonInclude.Include.NON_NULL) public class Response { private String name; private String targetId; private String characteristic; }
假設這個Response類是返回給前端的響應。如果字段characteristic為null,加上該註解後前端拿到的響應格式應該是這個樣子(為null的characteristic字段不會顯示在序列化結果裡):
{ "name": "xxx", "targetId": "xxx" }
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- SpringBoot統一返回格式的方法詳解
- 基於@JsonSerialize和@JsonInclude註解使用方法
- java 字段值為null,不返回該字段的問題
- Java如何取掉json數據中值為null的屬性字段
- 解決SpringBoot返回結果如果為null或空值不顯示處理問題