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
Lepaskan: 2024-12-15 04:21:10
asal
604 orang telah melayarinya

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
Salin selepas log masuk

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;
}
Salin selepas log masuk

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;
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan