Rumah > Java > javaTutorial > Bagaimana Saya Boleh Menghalang Jackson daripada Mensiri Medan Null?

Bagaimana Saya Boleh Menghalang Jackson daripada Mensiri Medan Null?

Linda Hamilton
Lepaskan: 2024-12-18 07:04:11
asal
612 orang telah melayarinya

How Can I Prevent Jackson from Serializing Null Fields?

Melangkau Pensiri Medan Null dengan Jackson

Jackson menyediakan beberapa cara untuk menyekat pensirilan medan dengan nilai nol. Ini boleh berguna untuk mengurangkan saiz data bersiri atau untuk memastikan medan tertentu tidak didedahkan secara luaran.

Mengkonfigurasi ObjectMapper

Untuk mengkonfigurasi Jackson secara global agar mengabaikan null nilai, anda boleh menetapkan sifat SerializationInclusion ObjectMapper:

mapper.setSerializationInclusion(Include.NON_NULL);
Salin selepas log masuk

Ini akan menyebabkan Jackson untuk melangkau mana-mana medan dengan nilai nol semasa bersiri.

Menggunakan Anotasi @JsonInclude

Untuk medan individu, anda boleh menggunakan anotasi @JsonInclude untuk mengawal cara null nilai dikendalikan:

class SomeClass {
   @JsonInclude(Include.NON_NULL)
   private String someValue; 
}
Salin selepas log masuk

Dengan anotasi ini, medan someValue akan hanya bersiri jika ia bukan nol.

Menggunakan @JsonInclude dengan Getters

Sebagai alternatif, anda boleh menggunakan @JsonInclude dalam kaedah getter untuk mengecualikan medan secara terpilih berdasarkan value:

class SomeClass {
   private String someValue; 

   @JsonInclude(value=Include.NON_NULL, content=Include.ALWAYS)
   public String getSomeValue() {
      return someValue;
   }
}
Salin selepas log masuk

Dalam contoh ini, medan someValue akan dikecualikan daripada bersiri jika ia batal, tetapi ia akan disertakan jika ia bukan batal, walaupun ia adalah rentetan kosong.

Atas ialah kandungan terperinci Bagaimana Saya Boleh Menghalang Jackson daripada Mensiri Medan Null?. 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