Jackson - Menggunakan Generik untuk Penyahserikatan
Dalam bidang pemprosesan data, penyahsiran memainkan peranan penting dalam menukar data bersiri kepada objek. Jackson, perpustakaan Java yang popular, menyediakan sokongan teguh untuk penyahserikatan, termasuk keupayaan untuk mengendalikan kelas generik.
Penyahserikatan Kelas Generik
Apabila berurusan dengan kelas generik seperti Data< T>, apabila T mewakili parameter jenis, penyahserikatan memerlukan penentuan hujah jenis sebenar. Pendekatan tradisional melibatkan penggunaan jenis Data.class, tetapi ini gagal menangkap maklumat generik.
TypeReference Solution
Jackson menyediakan penyelesaian melalui kelas TypeReferencenya. Dengan mencipta objek TypeReference dan menentukan jenis generik, anda boleh memaklumkan Jackson jenis yang dijangkakan.
Contoh Kod
Andaikan kami mempunyai Data
class Data<T> { int found; Class<T> hits } public static void main(String[] args) { String jsonString = "..."; ObjectMapper mapper = new ObjectMapper(); Data<String> deserializedData = mapper.readValue(jsonString, new TypeReference<Data<String>>() { }); }
Penjelasan
Dalam contoh ini, kami mencipta TypeReference untuk Data< String> dan luluskannya sebagai hujah kedua kepada kaedah readValue. Ini mengarahkan Jackson untuk mengharapkan objek Data dengan String sebagai hujah jenis generiknya.
Atas ialah kandungan terperinci Bagaimanakah Jenis Rujukan Jackson Menyelesaikan Isu Penyahserialisasian Kelas Generik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!