Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengelakkan Pensiri Berganda Apabila Mengembalikan Data JSON dalam FastAPI?
Apabila mengembalikan data JSON dalam FastAPI menggunakan json.dumps(), elakkan siri berganda. FastAPI melaksanakan penyirian automatik di belakang tabir, jadi menggunakan json.dumps() secara manual boleh membawa kepada output yang tidak betul, kelihatan sebagai rentetan dan bukannya JSON.
Pilihan 1: Pensiri Automatik
Cuma kembalikan data sebagai kamus, senarai, dsb. FastAPI akan menukarnya secara automatik kepada format serasi JSON menggunakan jsonable_encoder terbina dalam dan membungkusnya dalam JSONResponse. Pendekatan ini memastikan pesirilan dan sokongan yang betul untuk penyirian objek tidak boleh disiri seperti masa tarikh.
from datetime import date data = [{"User": "a", "date": date.today(), "count": 1}] @app.get('/') async def main(): return data
Pilihan 2: Pensiri Tersuai
Dalam senario tertentu, penyirian manual mungkin perlu. Dalam kes itu, pertimbangkan untuk mengembalikan objek Respons tersuai dengan jenis media yang ditetapkan kepada aplikasi/json.
import json @app.get('/') async def main(): json_str = json.dumps(data, indent=4, default=str) return Response(content=json_str, media_type='application/json')
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelakkan Pensiri Berganda Apabila Mengembalikan Data JSON dalam FastAPI?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!