我正在尝试在python中构建一个动态请求并发送它,但我收到错误 - “你提交的JSON中存在一个问题:词法错误:json文本中的char值无效 . ”
我的代码:
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'auth_token ' + auth_token,
}
data = '{\n "datapoint": {\n "value": ' + val + ',\n "metadata": {\n " key1": "",\n "key2": ""\n }\n }\n}'
response = requests.post(url, headers=headers, data=data)
但是,如果我发送硬编码值,请求是成功的:
data = '{\n "datapoint": {\n "value": "120",\n "metadata": {\n "key1": "",\n "key2": ""\n }\n }\n}'
如何使用变量'val'设置值?
2 回答
你忘记了动态值的双引号(在此更正):
停止使用这种方式将数据转换为字符串,您需要
json.dumps()
.