ホームページ >バックエンド開発 >Python チュートリアル >SQLAlchemy ORM オブジェクトを JSON にシリアル化する方法は?
SQLAlchemy クエリ結果を JSON 形式にシリアル化することは、Web アプリケーションを操作する場合の一般的なタスクとなることがあります。 Django は自動化されたシリアル化を提供しますが、SQLAlchemy にはすぐに使えるシリアライザーがありません。
jsonpickle.encode と json.dumps を使用してシリアル化しようとしました。 SQLAlchemy オブジェクトを作成しましたが、次のエラーが発生しました:
TypeError: <Product('3', 'some name', 'some desc')> is not JSON serializable
シリアル化の問題を解決するには、オブジェクトを辞書に変換するカスタム クラス メソッドを作成できます。
class User: def as_dict(self): return {c.name: getattr(self, c.name) for c in self.__table__.columns}
この as_dict() メソッドは、オブジェクトの辞書表現を動的に生成します。テーブル列を反復処理することによって。その後、User.as_dict() を使用してオブジェクトをシリアル化し、JSON エンコーディングに渡すことができます。
SQLAlchemy オブジェクトの辞書への変換に関する詳細については、次のリソースを参照してください。 :
カスタムシリアル化メソッドを実装することで、SQLAlchemy クエリ結果を正常に変換できますJSON 形式に変換し、JQGrid などの JavaScript データ グリッドでデータを使用できるようにします。
以上がSQLAlchemy ORM オブジェクトを JSON にシリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。