Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengembalikan Data JSON dalam FastAPI: Penukaran Automatik lwn Manual?

Bagaimana untuk Mengembalikan Data JSON dalam FastAPI: Penukaran Automatik lwn Manual?

DDD
Lepaskan: 2024-12-04 12:29:10
asal
1098 orang telah melayarinya

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

Bagaimana untuk mengembalikan data dalam format JSON menggunakan FastAPI?

Untuk mengembalikan data dalam format JSON menggunakan FastAPI, anda boleh menggunakan pengekod jsonable_encoder untuk menukar struktur data Python kepada data yang serasi dengan JSON. Ini boleh dicapai menggunakan salah satu daripada pilihan berikut:

Pilihan 1: Menggunakan jsonable_encoder Secara Automatik

Kembalikan data seperti biasa dan FastAPI akan mengendalikan penukaran JSON secara automatik. FastAPI secara dalaman menggunakan jsonable_encoder untuk menukar data kepada format yang serasi dengan JSON. Jsonable_encoder memastikan objek yang tidak disokong, seperti objek datetime, ditukar kepada rentetan. FastAPI kemudian membungkus data dalam objek JSONResponse dengan jenis media aplikasi/json, yang pelanggan terima sebagai respons 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))
Salin selepas log masuk

Pilihan 2: Penukaran JSON Manual

Jika anda perlu melakukan penukaran JSON tersuai, anda boleh terus mengembalikan objek Respons dengan set media_type kepada 'application/json' dan set kandungan kepada data berkod JSON. Ingat untuk menggunakan fungsi json.dumps() dengan argumen default=str untuk memastikan objek yang tidak disokong ditukar kepada rentetan sebelum dikodkan sebagai 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")
Salin selepas log masuk

Nota Tambahan:

  • Secara lalai, FastAPI menambah pengepala Content-Length dan Content-Type pada respons.
  • Anda boleh menentukan kod status tersuai untuk respons dengan menetapkan atribut status_code objek Respons atau JSONResponse.

Atas ialah kandungan terperinci Bagaimana untuk Mengembalikan Data JSON dalam FastAPI: Penukaran Automatik lwn Manual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan