Convertir le résultat de la requête SQLAlchemy en JSON
La sérialisation des résultats de la requête SQLAlchemy en JSON peut être un défi, surtout sans sérialisation automatique comme dans les modèles Django ORM . Pour surmonter ce problème, vous pouvez créer un sérialiseur JSON personnalisé ou utiliser une bibliothèque existante.
Une approche consiste à définir manuellement le processus de sérialisation en créant une méthode to_dict() dans la classe de modèle :
class User: def to_dict(self): return {c.name: getattr(self, c.name) for c in self.__table__.columns}
Cette fonction convertit l'instance de modèle en dictionnaire, qui peut ensuite être facilement converti en JSON.
Une autre option consiste à exploiter une bibliothèque de sérialisation d'objets comme jsonpickle. Cependant, il est important de noter que jsonpickle.encode() code l'objet requête lui-même. Utilisez plutôt jsonpickle.encode(item.to_dict()) après avoir converti le modèle en dictionnaire.
De plus, l'utilisation de json.dumps(items) entraînera une TypeError car les objets SQLAlchemy ne sont pas nativement sérialisables JSON. La méthode to_dict() garantit que les objets sont convertis dans un format de dictionnaire adapté à la sérialisation JSON.
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!