gpt4 book ai didi

python - JSONDecodeError Django

转载 作者:行者123 更新时间:2023-11-28 18:11:18 26 4
gpt4 key购买 nike

我有一个 API 正在向我发送 POST 请求 (JSON) 以进行测试。我对 JSON 做了很多工作,但突然间它停止工作并给我一个 JSONDecodeError。我尝试了各种各样的方法,比如使用 request.POST 但没有任何东西像我说的那样正常工作。感谢您提供任何帮助。

给出错误的测试:在 Windows 命令提示符下,运行:

curl -X POST http://127.0.0.1:8000/webhook/webhook_receiver/ -d '{"foo": "bar"}'

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

查看:

def webhook_receiver(request, *args, **kwargs):
if request.method == 'POST':
# Get the incoming JSON Data
data = request.body.decode('utf-8')
received_json_data = json.loads(data)
return HttpResponse(received_json_data)
else:
return HttpResponse("not Post")

最佳答案

罪魁祸首是您的命令引用语法和 Windows 终端解释器的组合(例如,您发布的内容使用 Bash 就可以了)。

参见 Escaping curl command in Windows了解详情。


实际错误(您确实应该发布)如下所示:

Exception Type: JSONDecodeError at /webhook/webhook_receiver/
Exception Value: Expecting value: line 1 column 1 (char 0)

这表示您传递给解码器的数据不是以有效字符开头(例如,如果 JSON 应该是一个字典,则为“{”,或者对于一个数组,则为“[”)。您可以通过为数据的开头添加 print() 来轻松找出问题所在,例如喜欢:

print('first few characters=<{}>'.format(data[:4]))

关于python - JSONDecodeError Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50651232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com