python - Python 请求给出了词法 JSON 错误。如何解决这个问题?
问题描述
我正在尝试在 python 中构建一个动态请求并发送它,但我收到错误消息 - “您提交的 JSON 中有问题:词法错误:json 文本中的字符无效。”
我的代码:
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”设置值?
解决方案
停止使用这种方式将数据转换为字符串,您需要json.dumps()
.
import json
data = {"A":1,
"B":2
}
to_str = json.dumps(data)
print(type(to_str),to_str)
# <class 'str'> {"A": 1, "B": 2}
推荐阅读
- python - Pandas DataFrame.sort_index() 在排序数据上的性能可以提高吗?
- spring-integration - RecipientListRouter 执行顺序
- json - 使用 json 模式验证器根据有效负载中另一个字段的值验证 EAV 有效负载中某些键的存在
- django - 如何遍历 Django 模板中的多个字段?
- corda - 具有 OneToMany 映射的 LinearState
- javascript - 如何离线查看一个简单的 create-react-app 组件?
- go - 初始化从 XML 创建的嵌套匿名结构到结构转换器
- php - 有人通过 PayPal 捐款时如何更新捐款栏?
- java - 如何使用方法、数组和循环从代码中删除字符串?
- django - 带参数的 Django 管理器