Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menghuraikan data JSON masuk menggunakan badan permintaan dalam FastAPI

Cara menghuraikan data JSON masuk menggunakan badan permintaan dalam FastAPI

王林
王林asal
2023-07-28 16:17:173494semak imbas

Cara menghuraikan data JSON masuk menggunakan badan permintaan dalam FastAPI

FastAPI ialah rangka kerja web berasaskan Python moden yang menyediakan fungsi yang kaya dan sokongan tak segerak berprestasi tinggi. Apabila menggunakan FastAPI untuk mengendalikan permintaan HTTP, selalunya perlu untuk menghuraikan data JSON yang masuk. Artikel ini akan memperkenalkan cara menggunakan badan permintaan untuk menghuraikan data JSON masuk dalam FastAPI dan memberikan contoh kod yang sepadan.

  1. Import kebergantungan

Pertama, kita perlu mengimport kebergantungan FastAPI dan modul JSONResponse untuk memproses dan mengembalikan data JSON.

from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse
  1. Buat objek aplikasi FastAPI

Seterusnya, kami mencipta objek aplikasi FastAPI.

app = FastAPI()
  1. Tulis fungsi pemprosesan laluan

Kemudian, kami menulis fungsi pemprosesan laluan parse_json untuk memproses permintaan POST yang diterima dan menghuraikan data JSON yang masuk. parse_json,用于处理接收到的POST请求,并解析传入的JSON数据。

@app.post("/parse_json")
async def parse_json(request: Request):
    try:
        json_data = await request.json()
        # 在这里可以对json_data进行处理
        return {"status": "success", "data": json_data}
    except Exception as e:
        return JSONResponse(status_code=400, content={"status": "error", "message": str(e)})

在上述代码中,我们使用request.json()方法来解析传入的JSON数据。解析后的数据将以Python的字典形式存储在json_data变量中,我们可以对其进行进一步处理。

  1. 启动应用

最后,我们启动FastAPI应用。

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

至此,我们已经完成了在FastAPI中使用请求体解析传入的JSON数据的代码编写。

使用示例:

通过发送POST请求到http://localhost:8000/parse_json,并在请求体中包含JSON数据,即可调用parse_json

$ curl -X POST -H "Content-Type: application/json" -d '{"name":"John", "age":30}' http://localhost:8000/parse_json

Dalam kod di atas, kami menggunakan kaedah request.json() untuk menghuraikan data JSON yang masuk. Data yang dihuraikan akan disimpan dalam pembolehubah json_data dalam bentuk kamus Python, yang boleh kami proses selanjutnya.

    Mulakan aplikasi

    Akhir sekali, kami memulakan aplikasi FastAPI.

    {"status": "success", "data": {"name": "John", "age": 30}}

    Pada ketika ini, kami telah menyelesaikan menulis kod untuk menggunakan badan permintaan untuk menghuraikan data JSON yang masuk dalam FastAPI.

    Contoh penggunaan:

    🎜Dengan menghantar permintaan POST ke http://localhost:8000/parse_json dan memasukkan data JSON dalam badan permintaan, anda boleh memanggil parse_json laluan Memproses fungsi dan melaksanakan penghuraian data JSON. 🎜🎜Sebagai contoh, gunakan curl untuk menghantar permintaan: 🎜
    {"status": "error", "message": "Expecting property name enclosed in double quotes: line 1 column 2 (char 1)"}
    🎜Hasil pengembalian adalah seperti berikut: 🎜rrreee🎜Jika data masuk tidak dalam format JSON yang sah, ralat 400 dan mesej ralat yang sepadan akan dikembalikan: 🎜rreee 🎜Ringkasan: 🎜🎜Artikel ini memperkenalkan Cara menggunakan badan permintaan untuk menghuraikan data JSON masuk dalam FastAPI, dan contoh kod yang sepadan disediakan. Melalui langkah di atas, kami boleh memproses data JSON yang diterima dengan mudah dan melaksanakan operasi dan pemprosesan selanjutnya. Saya harap artikel ini dapat membantu anda menghuraikan data JSON dalam pembangunan FastAPI! 🎜

Atas ialah kandungan terperinci Cara menghuraikan data JSON masuk menggunakan badan permintaan dalam FastAPI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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