Rumah >Java >javaTutorial >Bagaimanakah Jackson Boleh Mengabaikan Medan Baru dalam Objek JSON Semasa Penyahserialisasian?

Bagaimanakah Jackson Boleh Mengabaikan Medan Baru dalam Objek JSON Semasa Penyahserialisasian?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-28 08:29:11753semak imbas

How Can Jackson Ignore New Fields in JSON Objects During Deserialization?

Mengabaikan Medan Baharu dalam Objek JSON Menggunakan Jackson

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.

Masalahnya

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.

Penyelesaian: @JsonIgnoreProperties

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
}

Penyata Import

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!

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