Rumah  >  Artikel  >  Java  >  Bagaimanakah saya Boleh Menyahseri JSON menjadi Kelas Generik dengan Jackson?

Bagaimanakah saya Boleh Menyahseri JSON menjadi Kelas Generik dengan Jackson?

DDD
DDDasal
2024-11-19 01:35:03696semak imbas

How Can I Deserialize JSON into a Generic Class with Jackson?

Penyahserialisasian Kelas Generik dengan Jackson

Apabila cuba menyahsiri data JSON ke dalam kelas generik seperti Data, persoalan timbul tentang bagaimana untuk menentukan jenis parameter T. Pendekatan biasa menggunakan mapper.readValue(jsonString, Data.class) hanya membina instance Data, tetapi jenis T tertentu tetap tidak diketahui.

Penyelesaian

Jackson menyediakan penyelesaian melalui kelas TypeReference. Dengan mencipta objek TypeReference untuk jenis generik yang diingini dan menghantarnya kepada kaedah readValue, kami boleh menentukan parameter jenis secara eksplisit.

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

Dalam contoh ini, TypeReference dicipta untuk kelas generik Data

Atas ialah kandungan terperinci Bagaimanakah saya Boleh Menyahseri JSON menjadi Kelas Generik dengan Jackson?. 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