python data_error ai_generated true

JSON 解码错误:期望值:第 1 行第 1 列(字符 0)

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

ID: python/fastapi-request-body-malformed-json

其他格式: JSON · Markdown 中文 · English
80%修复率
89%置信度
0证据数
2024-12-10首次发现

版本兼容性

版本状态引入弃用备注
3.x active

根因分析

客户端发送的请求体不是有效的 JSON,或者 Content-Type 不是 application/json。

English

客户端发送的请求体不是有效的 JSON,或者 Content-Type 不是 application/json。

generic

解决方案

  1. 90% 成功率
    from pydantic import BaseModel
    class Item(BaseModel):
        name: str
    @app.post('/items')
    async def create(item: Item):
        return item
  2. 95% 成功率
    import requests
    requests.post(url, json={'name': 'test'})

无效尝试

常见但无效的做法:

  1. 60% 失败

    FastAPI 可能仍然尝试解析 JSON,导致错误。

  2. 70% 失败

    原始数据可能不是 JSON,解析仍会失败。