Rumah >Java >javaTutorial >Bagaimanakah Jackson Boleh Mengabaikan Medan Baru dalam Objek JSON Semasa Penyahserialisasian?
Objek JSON selalunya tertakluk kepada perubahan, yang boleh membawa kepada ralat apabila menggunakan perpustakaan seperti Jackson untuk menukarnya menjadi POJO kelas. Jackson ialah perpustakaan pemprosesan JSON yang popular yang menyediakan cara untuk mengabaikan medan yang baru ditambah dalam objek JSON.
Apabila objek JSON mempunyai medan tambahan yang tidak terdapat dalam kelas POJO yang sepadan , Jackson akan gagal untuk menukar objek. Ini boleh berlaku walaupun medan baharu adalah pilihan dan boleh diabaikan dengan selamat.
Jackson menyediakan anotasi @JsonIgnoreProperties yang boleh digunakan pada kelas untuk mengabaikan sifat yang tidak diketahui semasa penyahserikatan. Apabila digunakan dengan ignoreUnknown = true, anotasi ini akan menyebabkan Jackson mengabaikan semua sifat yang tidak terdapat dalam kelas POJO.
Untuk menggunakan @JsonIgnoreProperties, cuma tambahkan anotasi berikut pada bahagian atas kelas POJO anda:
@JsonIgnoreProperties(ignoreUnknown = true) public class Foo { // Class fields }
Bergantung pada versi Jackson yang anda gunakan, anda akan perlu mengimport kelas yang betul untuk @JsonIgnoreProperties:
Untuk Jackson 2.x:
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
Untuk Jackson 1.x:
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
Dengan menggunakan @JsonIgnoreProperties, anda boleh menghalang Jackson daripada pecah apabila JSON objek mengandungi medan baharu. Anotasi ini menyediakan cara yang mudah dan berkesan untuk mengendalikan skema JSON yang berkembang dan memastikan kod anda kekal stabil walaupun objek JSON berubah.
Atas ialah kandungan terperinci Bagaimanakah Jackson Boleh Mengabaikan Medan Baru dalam Objek JSON Semasa Penyahserialisasian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!