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 }
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:
Buat objek TypeReference untuk kelas generik. Dalam contoh ini, rujukan jenis untuk Data
new TypeReference<Data<String>>() {}
Lepaskan objek TypeReference ke kaedah readValue:
mapper.readValue(jsonString, new TypeReference<Data<String>>() {});
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!