首页 > Windows开发 > 详细

FastAPI 进阶知识(三) JSON兼容编码

时间:2020-05-26 14:55:54      阅读:84      评论:0      收藏:0      [点我收藏+]

作者:麦克煎蛋   出处: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格式。

其他类型的数据转换可自行尝试。

FastAPI 进阶知识(三) JSON兼容编码

原文:https://www.cnblogs.com/mazhiyong/p/12965542.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!