Heim > Backend-Entwicklung > Python-Tutorial > Wie serialisiere ich SQLAlchemy ORM-Objekte in JSON?

Wie serialisiere ich SQLAlchemy ORM-Objekte in JSON?

DDD
Freigeben: 2024-12-01 05:59:13
Original
259 Leute haben es durchsucht

How to Serialize SQLAlchemy ORM Objects to JSON?

Konvertieren von SQLAlchemy ORM-Objekten in JSON

Das Serialisieren von SQLAlchemy-Abfrageergebnissen in das JSON-Format kann eine häufige Aufgabe bei der Arbeit mit Webanwendungen sein. Während Django eine automatisierte Serialisierung bereitstellt, verfügt SQLAlchemy nicht über einen sofort einsatzbereiten Serialisierer.

Erste Versuche und Fehler

Sie haben versucht, jsonpickle.encode und json.dumps zur Serialisierung zu verwenden SQLAlchemy-Objekte, es ist jedoch der folgende Fehler aufgetreten:

TypeError: <Product('3', 'some name', 'some desc')> is not JSON serializable
Nach dem Login kopieren

Lösung: Objekt anpassen Serialisierung

Um das Serialisierungsproblem zu lösen, können Sie eine benutzerdefinierte Klassenmethode erstellen, die das Objekt in ein Wörterbuch umwandelt:

class User:
    def as_dict(self):
        return {c.name: getattr(self, c.name) for c in self.__table__.columns}
Nach dem Login kopieren

Diese as_dict()-Methode generiert dynamisch eine Wörterbuchdarstellung des Objekts durch Iteration über die Tabellenspalten. Anschließend können Sie User.as_dict() verwenden, um das Objekt zu serialisieren und an die JSON-Codierung zu übergeben.

Zusätzliche Ressourcen

Weitere Einblicke in die Konvertierung von SQLAlchemy-Objekten in Wörterbücher finden Sie in den folgenden Ressourcen :

  • [So konvertieren Sie ein SQLAlchemy-Zeilenobjekt in ein Python dict?](https://stackoverflow.com/questions/38425453/how-to-convert-sqlalchemy-row-object-to-a-python-dict) erklärt alternative Ansätze zum Generieren von Wörterbüchern aus SQLAlchemy-Objekten.

Fazit

Durch die Implementierung einer benutzerdefinierten Serialisierungsmethode können Sie SQLAlchemy-Abfrageergebnisse erfolgreich in JSON konvertieren Format, sodass Sie die Daten in JavaScript-Datengittern wie JQGrid verwenden können.

Das obige ist der detaillierte Inhalt vonWie serialisiere ich SQLAlchemy ORM-Objekte in JSON?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage