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

Bagaimana untuk Mengabaikan Medan Null Apabila Bersiri dengan Jackson?

Susan Sarandon
Lepaskan: 2024-12-17 08:24:25
asal
312 orang telah melayarinya

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

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

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

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!

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