如何使用FastAPI返回JSON格式的数据?
要使用FastAPI返回JSON格式的数据,可以使用jsonable_encoder编码器将 Python 数据结构转换为 JSON 兼容的数据。这可以使用以下选项之一来实现:
选项 1:自动使用 jsonable_encoder
照常返回数据,FastAPI 将自动处理 JSON 转换。 FastAPI 内部使用 jsonable_encoder 将数据转换为 JSON 兼容格式。 jsonable_encoder 确保不支持的对象(例如日期时间对象)转换为字符串。然后,FastAPI 将数据包装在具有 application/json 媒体类型的 JSONResponse 对象中,客户端将其作为 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))
选项 2:手动 JSON 转换
如果需要进行自定义JSON转换,可以直接返回一个Response对象,media_type设置为'application/json',content设置为JSON 编码的数据。请记住使用带有 default=str 参数的 json.dumps() 函数,以确保不支持的对象在编码为 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")
附加说明:
以上是如何在 FastAPI 中返回 JSON 数据:自动与手动转换?的详细内容。更多信息请关注PHP中文网其他相关文章!