gpt4 book ai didi

python - Django - 如何在将 JSON 对象作为有效负载传递给 request.post() 时对其进行字符串化

转载 作者:太空宇宙 更新时间:2023-11-03 12:55:22 24 4
gpt4 key购买 nike

我的 Django View 中有以下代码:

headers = {'Authorization': "key=AAAA7oE3Mj...",
'Content-type': 'application/json'}
token = "dJahuaU2p68:A..."
payload = {"data": {}, "to": user_web_tokens}
url = "https://..."
r = requests.post(url, data=payload, headers=headers)

问题是响应以 400 错误终止,错误消息为:

JSON_PARSING_ERROR: Unexpected character (t) at position 0

如果我传递一个字符串而不是 JSON:

payload = {"data": {}, "to": user_web_tokens}

...我得到一个稍微不同的错误:

JSON_PARSING_ERROR: Unexpected character (u) at position 19.

我看到一篇文章,他们说一个 json 对象在作为有效负载传递之前应该被字符串化。但我不知道如何在 Django 中做到这一点。它与序列化有关吗?请帮助我!

最佳答案

当您使用嵌套字典数据发布时,json.dumps 会有所帮助,或者您可以直接通过json 参数传递它。

import json
# ...
r = requests.post(url, data=json.dumps(payload), headers=headers)
# or
r = requests.post(url, json=payload, headers=headers)

参见 the official docs .

关于python - Django - 如何在将 JSON 对象作为有效负载传递给 request.post() 时对其进行字符串化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44776212/

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