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);
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; }
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; } }
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!