Heim > Backend-Entwicklung > Python-Tutorial > Wie gebe ich JSON-Daten in FastAPI zurück: Automatische oder manuelle Konvertierung?

Wie gebe ich JSON-Daten in FastAPI zurück: Automatische oder manuelle Konvertierung?

DDD
Freigeben: 2024-12-04 12:29:10
Original
966 Leute haben es durchsucht

How to Return JSON Data in FastAPI: Automatic vs. Manual Conversion?

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))
Nach dem Login kopieren

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")
Nach dem Login kopieren

Zusätzliche Hinweise:

  • Standardmäßig fügt FastAPI einen Content-Length- und Content-Type-Header zum hinzu Antwort.
  • Sie können einen benutzerdefinierten Statuscode für die Antwort angeben, indem Sie das status_code-Attribut des Antwort- oder JSONResponse-Objekts festlegen.

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage