ホームページ > バックエンド開発 > Python チュートリアル > SQLAlchemy クエリ結果を JSON に効率的に変換するにはどうすればよいですか?

SQLAlchemy クエリ結果を JSON に効率的に変換するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-30 19:40:14
オリジナル
950 人が閲覧しました

How to Efficiently Convert SQLAlchemy Query Results to JSON?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート