如何使用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轉換,可以直接傳回一個Response對象,media_type設定為'application/json' ,content設定為JSON 編碼的資料。請記住使用帶有 default=str 參數的 json.dumps() 函數,以確保不支援的物件在編碼為 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中文網其他相關文章!