django 接收 post 请求中的 json 数据
环境信息
- Python3.10
- Django 4.0
接收 post 中的 json 数据
示例通过 curl
命令模拟 post 请求,命令如下:
curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST \ |
Django 处理程序示例:
from django.http import HttpResponse |
Console 输出结果:
****** POST body: b'{"id" : "yTP7PSsRxz53tJ56VVG", "type" : 5}', type : <class 'bytes'> |
以上输出可以看到,request.body
中的类型为 bytes
使用 eval
转换后类型变为 dict
使用 json.loads
将 request.body
转换为 dict
时,可能会报以下错误:
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1) |
可能原因 参考