Rumah  >  Artikel  >  Java  >  Bagaimanakah Saya Boleh Mengkonfigurasi Jackson untuk Menggunakan Medan Sahaja untuk Pensirilan dan Penyahserikatan JSON?

Bagaimanakah Saya Boleh Mengkonfigurasi Jackson untuk Menggunakan Medan Sahaja untuk Pensirilan dan Penyahserikatan JSON?

Linda Hamilton
Linda Hamiltonasal
2024-11-24 17:21:21540semak imbas

How Can I Configure Jackson to Use Only Fields for JSON Serialization and Deserialization?

Mengkonfigurasi Jackson untuk Menggunakan Medan Sahaja: Penyelesaian Komprehensif

Apabila mensiri dan menyahsiri objek kepada JSON, Jackson secara lalai menggunakan kedua-dua getter/setters (sifat) dan medan. Walau bagaimanapun, kadangkala anda mungkin memilih untuk bergantung sepenuhnya pada medan untuk proses ini. Begini cara anda boleh mencapai ini:

Pada peringkat kelas individu, anda boleh mengawal tingkah laku menggunakan anotasi @JsonAutoDetect, seperti yang dinyatakan dalam soalan. Untuk konfigurasi global, anda boleh menyesuaikan ObjectMapper seperti berikut:

ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(
    mapper.getSerializationConfig().getDefaultVisibilityChecker()
            .withFieldVisibility(JsonAutoDetect.Visibility.ANY)
            .withGetterVisibility(JsonAutoDetect.Visibility.NONE)
            .withSetterVisibility(JsonAutoDetect.Visibility.NONE)
            .withCreatorVisibility(JsonAutoDetect.Visibility.NONE)
);

Jika anda memerlukan akses global kepada pemeta yang dikonfigurasikan, pertimbangkan untuk menggunakan kelas pembalut untuk pendekatan berpusat pada konfigurasi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengkonfigurasi Jackson untuk Menggunakan Medan Sahaja untuk Pensirilan dan Penyahserikatan JSON?. 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