Maison >Java >javaDidacticiel >Pourquoi est-ce que je reçois une erreur « Échec du rebond pour taper » lors du mappage de Firebase JSON à des objets Java à l'aide de Jackson ?
Cette erreur se produit pendant la conversion de Firebase JSON en objets Java à l'aide de la bibliothèque Jackson. Cela indique que Jackson n'est pas en mesure de mapper les propriétés JSON à votre classe Java.
Tout d'abord, assurez-vous que les propriétés de votre classe Java correspondent exactement aux noms de propriétés JSON, y compris les majuscules. De plus, des getters publics doivent exister pour chaque propriété.
Si votre classe Java n'inclut pas de mappages pour toutes les propriétés JSON, vous pouvez utiliser l'annotation @JsonIgnoreProperties pour ignorer des propriétés spécifiques. pendant la conversion.
Pour les propriétés que vous souhaitez inclure dans votre classe Java mais que vous ne sérialisez pas en JSON, vous pouvez utiliser l'annotation @JsonIgnore pour indiquer qu'elles doivent être ignorées.
Considérez la structure Firebase JSON suivante :
{ "users": { "-Jx5vuRqItEF-7kAgVWy": { "handle": "puf", "name": "Frank van Puffelen", "soId": 209103 } } }
Pour convertir ce JSON en un objet Java, définissez les éléments suivants class:
private static class User { private String handle; private String name; public String getHandle() { return handle; } public String getName() { return name; } }
Lors de l'ajout de l'annotation @JsonIgnoreProperties pour ignorer la propriété soId, le code devient :
@JsonIgnoreProperties({"soId"}) private static class User { private String handle; private String name; public String getHandle() { return handle; } public String getName() { return name; } }
Ou, pour ignorer complètement toutes les propriétés sans correspondance, utilisez l'annotation suivante :
@JsonIgnoreProperties(ignoreUnknown = true) private static class User { ... }
Cela permet à Jackson d'ignorer les propriétés du JSON qui n'ont pas de propriétés de classe Java correspondantes.
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!