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!