Rumah > Java > javaTutorial > Bagaimanakah Jackson Boleh Mengabaikan Medan Tidak Diketahui Semasa Penyahserialisasian JSON?

Bagaimanakah Jackson Boleh Mengabaikan Medan Tidak Diketahui Semasa Penyahserialisasian JSON?

Barbara Streisand
Lepaskan: 2024-12-01 14:22:11
asal
384 orang telah melayarinya

How Can Jackson Ignore Unknown Fields During JSON Deserialization?

Mengatasi Perubahan Medan JSON dalam Jackson

Mengurus data JSON dalam aplikasi Android boleh menjadi mencabar, terutamanya apabila perubahan skema diperkenalkan. Pustaka Jackson digunakan secara meluas untuk pemetaan JSON, tetapi ia boleh menjadi sensitif kepada penambahan medan baharu dalam objek JSON.

Soalan:

Bagaimana Jackson boleh dikonfigurasikan untuk mengabaikan medan baharu yang ditambahkan pada objek JSON semasa penyahserikatan proses?

Jawapan:

Jackson menyediakan penyelesaian serba boleh untuk masalah ini: anotasi @JsonIgnoreProperties boleh digunakan pada peringkat kelas untuk mengarahkan perpustakaan mengabaikan sifat yang tidak dikenali apabila menyahsiri data JSON.

Untuk mengabaikan semua medan baharu, tambahkan anotasi berikut ke kelas POJO:

@JsonIgnoreProperties(ignoreUnknown = true)
public class Foo {
    ...
}
Salin selepas log masuk

Bergantung pada versi Jackson yang digunakan, pernyataan import akan berbeza-beza:

  • Versi semasa: com.fasterxml.jackson .annotation.JsonIgnoreProperties
  • Lama versions: org.codehaus.jackson.annotate.JsonIgnoreProperties

Dengan adanya anotasi ini, Jackson akan mengabaikan mana-mana medan dalam objek JSON yang tidak ditakrifkan dalam kelas POJO, membenarkan untuk lancar keserasian walaupun apabila skema JSON berubah.

Atas ialah kandungan terperinci Bagaimanakah Jackson Boleh Mengabaikan Medan Tidak Diketahui Semasa Penyahserialisasian 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