Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Deserialize JSON ke dalam Kelas Generik dengan Jackson?

DDD
Lepaskan: 2024-11-20 11:41:19
asal
563 orang telah melayarinya

How to Deserialize JSON into a Generic Class with Jackson?

Menyahsiri JSON menggunakan Jenis Generik dengan Jackson

Soalan: Bagaimana untuk menyahsiri data JSON ke dalam kelas generik menggunakan Jackson ?

Pertimbangkan kelas contoh berikut:

class Data<T> {
    int found;
    Class<T> hits
}
Salin selepas log masuk

Percubaan penyahserikatan JSON standard menggunakan mapper.readValue(jsonString, Data.class) akan gagal. Untuk menyahsiri data dengan betul, kita perlu menentukan parameter jenis .

Jawapan: Jackson menyediakan kelas TypeReference untuk mengendalikan jenis generik semasa penyahserikatan. Untuk menggunakannya:

  1. Buat objek TypeReference untuk kelas generik. Dalam contoh ini, rujukan jenis untuk Data ialah:

    new TypeReference<Data<String>>() {}
    Salin selepas log masuk
  2. Lepaskan objek TypeReference ke kaedah readValue:

    mapper.readValue(jsonString, new TypeReference<Data<String>>() {});
    Salin selepas log masuk

Ini akan menyahsiri data JSON ke dalam contoh Data.

Atas ialah kandungan terperinci Bagaimana untuk Deserialize JSON ke dalam Kelas Generik dengan Jackson?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan