Rumah >Java >javaTutorial >Bagaimana untuk Mengabaikan Medan Null Apabila Bersiri dengan Jackson?

Bagaimana untuk Mengabaikan Medan Null Apabila Bersiri dengan Jackson?

Susan Sarandon
Susan Sarandonasal
2024-12-17 08:24:25313semak imbas

How to Ignore Null Fields When Serializing with Jackson?

Mengabaikan Medan Null Semasa Pensirian Jackson

Apabila mensiri data menggunakan Jackson, adalah tidak diingini untuk memasukkan nilai nol dalam output. Artikel ini meneroka cara mengkonfigurasi Jackson untuk mengabaikan medan dengan nilai nol semasa bersiri, menyediakan penyelesaian untuk kedua-dua versi Jackson yang lebih besar daripada 2.0 dan versi terdahulu.

Jackson >2.0

Untuk mengelakkan nilai nol daripada bersiri dalam versi Jackson lebih besar daripada 2.0, anda boleh mengkonfigurasi ObjectMapper terus menggunakan setSerializationInclusion kaedah:

mapper.setSerializationInclusion(Include.NON_NULL);

Jackson <=2.0

Untuk versi Jackson yang lebih awal, anda boleh menggunakan anotasi @JsonInclude untuk menentukan peraturan kemasukan bagi medan tertentu:

@JsonInclude(Include.NON_NULL)
class Foo
{
  String bar;
}

Mendapatkan Nilai Secara Manual

Sebagai alternatif, anda boleh menggunakan @JsonInclude anotasi pada kaedah getter untuk mengawal sama ada medan disertakan dalam output bersiri:

class Foo
{
  String bar;

  @JsonInclude(Include.NON_NULL)
  public String getBar() {
    return bar;
  }
}

Pendekatan ini membolehkan anda mengekalkan kawalan ke atas tingkah laku bersiri, memastikan bahawa nilai nol hanya disertakan apabila dikehendaki dengan jelas.

Atas ialah kandungan terperinci Bagaimana untuk Mengabaikan Medan Null Apabila Bersiri 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