Rumah > Java > javaTutorial > Bagaimanakah Jackson Boleh Mengabaikan Medan Tidak Diketahui dalam Objek JSON?

Bagaimanakah Jackson Boleh Mengabaikan Medan Tidak Diketahui dalam Objek JSON?

Patricia Arquette
Lepaskan: 2024-11-30 04:03:14
asal
843 orang telah melayarinya

How Can Jackson Ignore Unknown Fields in JSON Objects?

Mengabaikan Medan Baru Ditambah dalam Objek JSON dengan Jackson

Apabila bekerja dengan data JSON, adalah perkara biasa untuk objek berkembang dari semasa ke semasa, membawa kepada penambahan bidang baru. Walau bagaimanapun, jika aplikasi anda bergantung pada menghuraikan objek JSON ke dalam kelas POJO (Plain Old Java Object), kehadiran medan baharu boleh menyebabkan ralat.

Untuk menangani cabaran ini, Jackson menyediakan anotasi yang dipanggil @JsonIgnoreProperties, yang membenarkan anda mengarahkan Jackson untuk mengabaikan medan yang tidak sepadan dengan kelas POJO yang sepadan.

Global Abaikan Medan Baharu

Untuk mengabaikan medan yang baru ditambah pada semua objek JSON yang dihuraikan, tambahkan anotasi berikut pada bahagian atas kelas POJO anda:

@JsonIgnoreProperties(ignoreUnknown = true)
Salin selepas log masuk

Dengan menetapkan ignoreUnknown kepada benar, Jackson secara automatik akan mengabaikan medan yang terdapat dalam objek JSON tetapi tidak ditakrifkan dalam POJO kelas.

Abaikan Khusus Medan Baharu

Jika anda mahu mengabaikan medan tertentu dan bukannya semua medan yang tidak diketahui, anda boleh menggunakan anotasi @JsonIgnore:

@JsonIgnore
private String newField;
Salin selepas log masuk

Anotasi ini akan menghalang Jackson daripada mensiri atau menyahsiri yang dinyatakan medan.

Nota:

Import untuk anotasi @JsonIgnoreProperties bergantung pada versi Jackson yang anda gunakan:

  • Untuk Jackson 2.x, gunakan: import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  • Untuk Jackson 1.x, gunakan: import org.codehaus.jackson.annotate.JsonIgnoreProperties;

Atas ialah kandungan terperinci Bagaimanakah Jackson Boleh Mengabaikan Medan Tidak Diketahui dalam Objek JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan