SQLAlchemy クエリ結果を JSON に変換する
SQLAlchemy クエリ結果を JSON にシリアル化することは、特に Django ORM モデルのような自動シリアル化がない場合、困難になる可能性があります。 。これを解決するには、カスタム JSON シリアライザーを作成するか、既存のライブラリを使用します。
1 つの方法は、モデル クラス内に to_dict() メソッドを作成してシリアル化プロセスを手動で定義することです。
class User: def to_dict(self): return {c.name: getattr(self, c.name) for c in self.__table__.columns}
この関数はモデル インスタンスを辞書に変換します。辞書は簡単に JSON に変換できます。
別のオプションは、次のようなオブジェクト シリアル化ライブラリを利用することです。 jsonpickle。ただし、 jsonpickle.encode() はクエリ オブジェクト自体をエンコードすることに注意することが重要です。代わりに、モデルを辞書に変換した後で jsonpickle.encode(item.to_dict()) を使用します。
さらに、SQLAlchemy オブジェクトはネイティブに JSON シリアル化可能ではないため、json.dumps(items) を使用すると TypeError が発生します。 to_dict() メソッドは、オブジェクトが JSON シリアル化に適した辞書形式に確実に変換されるようにします。
以上がSQLAlchemy クエリ結果を JSON に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。