Lors de la tentative de lecture de données JSON de Firebase vers Objets Java utilisant getValue (User.class), une erreur se produit :
Exception in thread "FirebaseEventTarget" com.firebase.client.FirebaseException: Failed to bounce to type
Pour résoudre cette erreur et réussir à désérialiser JSON en objets Java, suivez ces étapes :
Utilisation de Jackson pour la sérialisation et la désérialisation
Firebase utilise Jackson pour la sérialisation et la désérialisation. Assurez-vous que votre classe Java correspond à la structure JSON.
Créez une classe Java qui imite la structure JSON
Créez une classe Java avec des champs qui correspondent aux propriétés du JSON. Utilisez les propriétés JavaBean pour le mappage automatique.
Gérer le chargement partiel
Si votre classe Java n'inclut pas toutes les propriétés dans le JSON, utilisez l'annotation @JsonIgnoreProperties pour ignorer les propriétés spécifiques. propriétés ou définissez ignoreUnknown = true pour ignorer toutes les propriétés inconnues.
Gérer partiellement Enregistrement
Lors de l'enregistrement d'objets Java sur Firebase, sachez que Jackson peut ajouter des propriétés non présentes dans le JSON d'origine. Utilisez les annotations @JsonIgnore sur les méthodes getter pour éviter cela.
Exemple :
@JsonIgnoreProperties({ "stackId" }) private static class User { String handle; String name; public String getHandle() { return handle; } public String getName() { return name; } @JsonIgnore public String getDisplayName() { return getName() + " (puf)"; } }
En suivant ces étapes, vous pouvez réussir à désérialiser JSON de Firebase en objets Java sans rencontrer l'erreur « Échec du rebond pour taper ».
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!