Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Melangkau Nilai Null Apabila Mensiri Objek dengan Jackson?

Bagaimanakah Saya Boleh Melangkau Nilai Null Apabila Mensiri Objek dengan Jackson?

Barbara Streisand
Barbara Streisandasal
2024-12-15 04:21:10604semak imbas

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

Jackson: Melangkau Nilai Null semasa Pensiri

Apabila mensiri objek menggunakan Jackson, adalah wajar untuk mengecualikan medan dengan nilai nol untuk mengoptimumkan data saiz dan meningkatkan kebolehbacaan. Untuk tujuan ini, Jackson menawarkan dua kaedah untuk mencapai tingkah laku ini:

1. Konfigurasi Global:

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

Tetapan ini digunakan secara global untuk semua operasi bersiri yang dilakukan oleh tika ObjectMapper.

2. @JsonInclude Anotasi:

Anotasi @JsonInclude boleh digunakan pada medan atau kelas tertentu untuk menyesuaikan tingkah laku bersiri mereka. Contohnya:

import com.fasterxml.jackson.annotation.JsonInclude;

//...

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

Anotasi ini mengarahkan Jackson untuk mengecualikan medan someValue daripada bersiri jika nilainya adalah batal.

Sebagai alternatif, anotasi @JsonInclude boleh digunakan pada kaedah getter bagi medan:

import com.fasterxml.jackson.annotation.JsonInclude;

//...

public class SomeClass {
    private String someValue;

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

Pendekatan ini membenarkan medan disiri hanya apabila nilainya tidak null.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melangkau Nilai Null Apabila Mensiri Objek dengan Jackson?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn