FastAPI 進階知識(二) JSON兼容編碼


作者:麥克煎蛋   出處:https://www.cnblogs.com/mazhiyong/ 轉載請保留這段聲明,謝謝!

 

在進行數據存儲或者傳輸的時候,有時候我們需要把數據(比如Pydantic模型)轉換成JSON兼容的格式(如dict、list等)。

FastAPI提供了 jsonable_encoder 函數來實現。

from datetime import datetime

from fastapi import FastAPI
from fastapi.encoders import jsonable_encoder
from pydantic import BaseModel


class Item(BaseModel): title: str timestamp: datetime description: str = None


app = FastAPI()


@app.put("/items/{id}")
def update_item(id: str, item: Item):
    json_compatible_item_data = jsonable_encoder(item) print(json_compatible_item_data)

在上面的示例中,如果Request Body為:

{
    "title": "title",
    "timestamp": "2017-11-23 16:10:10"
}

那么打印結果為:

{'title': 'title', 'timestamp': '2017-11-23T16:10:10', 'description': None}

這里 jsonable_encoderdatetime 轉換成了字符串,而把Pydantic模型轉換成了dict格式。

其他類型的數據轉換可自行嘗試。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM