You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在FastAPI中使用orjson库读取请求体?

用orjson替代FastAPI默认JSON解析请求体

FastAPI的Request.json()方法默认使用Python标准库的json模块解析请求体,无法直接指定替换为orjson。要实现这个需求,你需要手动读取请求的原始字节数据,再用orjson进行解析:

修改后的代码示例

from fastapi import FastAPI, status, Request
from fastapi.responses import ORJSONResponse
import uvicorn
import orjson

app = FastAPI()

@app.post("/", status_code=status.HTTP_200_OK)
async def get_data(request: Request):
    # 读取原始请求体字节
    body_bytes = await request.body()
    # 用orjson解析字节数据
    param = orjson.loads(body_bytes)
    return param

关键说明

  • request.body():异步方法,返回请求体的原始字节数据,这一步替代了request.json()内部的读取逻辑
  • orjson.loads(body_bytes):orjson的字节解析方法,直接处理原始字节,比标准库json更高效,支持更多JSON特性

如果你的项目还未安装orjson,执行以下命令安装:

pip install orjson

内容的提问来源于stack exchange,提问作者Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 01:20:31