在发出HTTP发布请求时如何在Json对象中传递变量

python_interest

我正在尝试将json对象传递到我的接受JSON数据的URL之一。

下面的作品:

payload='{"message": "hello"}'
headers = {'content-type': 'application/json', 'Accept-Charset': 'UTF-8'}
r = requests.post(url, data=payload, headers=headers)

r.text给我“你好”

但是当我尝试传递变量时

s="hello"
payload='{"message":' +str(s)+ '}'
headers = {'content-type': 'application/json', 'Accept-Charset': 'UTF-8'}
r = requests.post(url, data=payload, headers=headers)

上面没有工作。当我尝试以JSON格式加载时,也会引发错误

payload=json.loads(payload)
JSONDecodeError: Expecting value: line 1 column 12 (char 11)

我也想将b'blahblah'作为JSON消息传递。由于传递字符串对我不起作用,因此我没有尝试传递字节格式。

请指教

吹牛

您应该在JSON对象中的字符串周围加上双引号:

payload='{"message":"' +str(s)+ '"}'

这样payload就变成了'{"message": "hello"}'

否则payload将成为'{"message": hello}'您当前的代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章