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

Django REST ListCreateView GET正常但POST报JSON解析错误如何解决

问题原因与解决方法

你遇到的JSON parse error - Expecting value: line 1 column 1 (char 0)报错和你编写的模型、视图、序列化器代码没有关联,是POST请求构造不符合规范导致的。

常见问题与对应解决方式

  • 缺失正确请求头:发送POST请求时必须在请求头中添加Content-Type: application/json,如果请求头格式是form-data、x-www-form-urlencoded,或者没有该字段,DRF就无法正确解析JSON格式的请求体,触发该错误。
  • 请求体为空:没有携带任何JSON数据直接发起POST请求,解析器从第一行第一个字符就找不到合法的JSON内容,直接报错。
  • JSON格式非法:请求体的内容不符合JSON语法规范,常见的错误包括使用单引号包裹字符串、遗漏大括号/引号、末尾多余逗号、存在未转义的特殊字符等。

合法请求示例(curl格式)

curl -X POST <你的接口访问地址> \
-H "Content-Type: application/json" \
-d '{
    "invoice_number": "INV001",
    "description": "运维服务",
    "rate": 500.0,
    "units": 2,
    "discount": 0,
    "amount": 1000.0,
    "service_or_expense": "SER",
    "type": "CAE"
}'

接口测试工具配置要点

如果你用Postman、Apifox这类可视化工具发请求,按以下步骤检查配置:

  1. 请求体切换到raw模式,右侧格式选择JSON
  2. 输入符合语法的请求体内容,不要留空
  3. 检查请求头列表,确认自动生成的Content-Type字段值为application/json

快速验证方法

你可以直接访问DRF自带的接口调试页面,向下滚动找到POST提交表单,填入对应字段提交,如果提交成功就可完全确认是请求构造的问题,和后端代码无关。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:36:00