FastAPI を使用して JSON 形式でデータを返す方法?
FastAPI を使用して JSON 形式でデータを返すには、jsonable_encoder エンコーダを使用して、 Python データ構造を JSON 互換データに変換します。これは、次のオプションのいずれかを使用して実現できます。
オプション 1: jsonable_encoder を自動的に使用する
通常どおりデータを返すと、FastAPI が自動的に JSON 変換を処理します。 FastAPI は内部で jsonable_encoder を使用してデータを JSON 互換形式に変換します。 jsonable_encoder は、日時オブジェクトなどのサポートされていないオブジェクトが確実に文字列に変換されるようにします。次に、FastAPI は、application/json メディア タイプを使用して JSONResponse オブジェクトにデータをラップし、クライアントはこれを JSON 応答として受け取ります。
from fastapi.encoders import jsonable_encoder from fastapi.responses import JSONResponse def return_dict(): data_dict = {"name": "John Doe", "age": 30} return JSONResponse(content=jsonable_encoder(data_dict))
オプション 2: 手動 JSON 変換
カスタム JSON 変換を実行する必要がある場合は、media_type を「application/json」に設定した Response オブジェクトを直接返すことができます。コンテンツは JSON エンコードされたデータに設定されます。 json.dumps() 関数を必ずdefault=str 引数とともに使用して、サポートされていないオブジェクトが JSON としてエンコードされる前に文字列に変換されるようにしてください。
import json from fastapi import Response def return_response(): data_dict = {"name": "John Doe", "age": 30} json_data = json.dumps(data_dict, default=str) return Response(content=json_data, media_type="application/json")
追加メモ:
以上がFastAPI で JSON データを返す方法: 自動変換と手動変換?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。