Wie gebe ich Daten im JSON-Format mit FastAPI zurück?
Um Daten im JSON-Format mit FastAPI zurückzugeben, können Sie den Encoder jsonable_encoder verwenden Konvertieren Sie Python-Datenstrukturen in JSON-kompatible Daten. Dies kann mit einer der folgenden Optionen erreicht werden:
Option 1: Automatische Verwendung des jsonable_encoder
Daten wie gewohnt zurückgeben und FastAPI übernimmt automatisch die JSON-Konvertierung. FastAPI verwendet intern den jsonable_encoder, um die Daten in ein JSON-kompatibles Format zu konvertieren. Der jsonable_encoder stellt sicher, dass nicht unterstützte Objekte, wie z. B. Datetime-Objekte, in Strings konvertiert werden. FastAPI verpackt die Daten dann in ein JSONResponse-Objekt mit einem Anwendungs-/JSON-Medientyp, den der Client als JSON-Antwort erhält.
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))
Option 2: Manuelle JSON-Konvertierung
Wenn Sie eine benutzerdefinierte JSON-Konvertierung durchführen müssen, können Sie direkt ein Antwortobjekt zurückgeben, wobei der Medientyp auf „application/json“ und der Inhalt auf festgelegt ist JSON-codierte Daten. Denken Sie daran, die Funktion json.dumps() mit dem Argument default=str zu verwenden, um sicherzustellen, dass nicht unterstützte Objekte in Zeichenfolgen konvertiert werden, bevor sie als JSON codiert werden.
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")
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWie gebe ich JSON-Daten in FastAPI zurück: Automatische oder manuelle Konvertierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!