SQLAlchemy-Abfrageergebnis in JSON konvertieren
Das Serialisieren von SQLAlchemy-Abfrageergebnissen in JSON kann eine Herausforderung sein, insbesondere ohne automatische Serialisierung wie in Django ORM-Modellen . Um dies zu umgehen, kann man einen benutzerdefinierten JSON-Serialisierer erstellen oder eine vorhandene Bibliothek verwenden.
Ein Ansatz besteht darin, den Serialisierungsprozess manuell zu definieren, indem eine to_dict()-Methode innerhalb der Modellklasse erstellt wird:
class User: def to_dict(self): return {c.name: getattr(self, c.name) for c in self.__table__.columns}
Diese Funktion wandelt die Modellinstanz in ein Wörterbuch um, das dann einfach in JSON konvertiert werden kann.
Eine weitere Option besteht darin, eine Objektserialisierungsbibliothek wie z. B. zu nutzen jsonpickle. Es ist jedoch wichtig zu beachten, dass jsonpickle.encode() das Abfrageobjekt selbst codiert. Verwenden Sie stattdessen jsonpickle.encode(item.to_dict()), nachdem Sie das Modell in ein Wörterbuch konvertiert haben.
Darüber hinaus führt die Verwendung von json.dumps(items) zu einem TypeError, da SQLAlchemy-Objekte nicht nativ JSON-serialisierbar sind. Die Methode to_dict() stellt sicher, dass die Objekte in ein Wörterbuchformat konvertiert werden, das für die JSON-Serialisierung geeignet ist.
Das obige ist der detaillierte Inhalt vonWie konvertiert man SQLAlchemy-Abfrageergebnisse effizient in JSON?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!