首頁 >Java >java教程 >使用 Jackson 序列化物件時如何跳過空值?

使用 Jackson 序列化物件時如何跳過空值?

Barbara Streisand
Barbara Streisand原創
2024-12-15 04:21:10604瀏覽

How Can I Skip Null Values When Serializing Objects with Jackson?

Jackson:在序列化期間跳過空值

使用Jackson 序列化物件時,可能需要排除具有空值的欄位以優化資料大小並提高可讀性。為此,Jackson 提供了兩種方法來實現此行為:

1.全域配置:

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

//...

ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false); // disable serialization of null values

此設定全域適用於ObjectMapper 實例執行的所有序列化操作。

2. @JsonInclude 註解:

@JsonInclude 註解可以應用於特定的欄位或類別來自訂其序列化行為。例如:

import com.fasterxml.jackson.annotation.JsonInclude;

//...

@JsonInclude(JsonInclude.Include.NON_NULL)
public class SomeClass {
    private String someValue;
}

此註解指示 Jackson 將 someValue 欄位的值為 null 時從序列化中排除。

或者,@JsonInclude 註解可以用在 getter 方法上field:

import com.fasterxml.jackson.annotation.JsonInclude;

//...

public class SomeClass {
    private String someValue;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String getSomeValue() {
        return someValue;
    }
}

此方法允許僅當欄位的值不是時才序列化該欄位空。

以上是使用 Jackson 序列化物件時如何跳過空值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn