Ralat ini berlaku semasa penukaran Firebase JSON kepada objek Java menggunakan perpustakaan Jackson. Ini menunjukkan bahawa Jackson tidak dapat memetakan sifat JSON ke kelas Java anda.
Pertama, pastikan sifat kelas Java anda betul-betul sepadan dengan nama sifat JSON, termasuk huruf besar. Selain itu, pengambil awam harus wujud untuk setiap sifat.
Jika kelas Java anda tidak menyertakan pemetaan untuk semua sifat JSON, anda boleh menggunakan anotasi @JsonIgnoreProperties untuk mengabaikan sifat tertentu semasa penukaran.
Untuk sifat yang ingin anda sertakan dalam kelas Java anda tetapi tidak bersiri kembali kepada JSON, anda boleh menggunakan anotasi @JsonIgnore untuk menunjukkan ia harus diabaikan.
Pertimbangkan struktur Firebase JSON berikut:
{ "users": { "-Jx5vuRqItEF-7kAgVWy": { "handle": "puf", "name": "Frank van Puffelen", "soId": 209103 } } }
Untuk menukar JSON ini kepada objek Java, takrifkan kelas berikut:
private static class User { private String handle; private String name; public String getHandle() { return handle; } public String getName() { return name; } }
Apabila menambahkan anotasi @JsonIgnoreProperties untuk mengabaikan sifat soId, kod tersebut menjadi:
@JsonIgnoreProperties({"soId"}) private static class User { private String handle; private String name; public String getHandle() { return handle; } public String getName() { return name; } }
Atau, untuk mengabaikan sepenuhnya sebarang sifat yang tidak sepadan, gunakan anotasi berikut:
@JsonIgnoreProperties(ignoreUnknown = true) private static class User { ... }
Ini membolehkan Jackson mengabaikan sifat dalam JSON yang tidak mempunyai sifat kelas Java yang sepadan.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'Gagal Melantun untuk Menaip\' Semasa Memetakan Firebase JSON ke Objek Java Menggunakan Jackson?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!