解決@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。

推薦閱讀: