[英]Reformat JSON file for Python Requests payload (add \n, \t)
我目前正在使用请求库。 我使用 Postman 创建了一个请求,它可以工作。
url = url
payload = "{\n \"key\" : {\n\t\t\"inner_key\": [\n \t\t{\n \t\t\"inner_key2\": \"inner_value\",\n \t\t\"inner_key3\": \"inner_value2\"\n \t\t}\n\t\t],\n}"
headers = {
'Authorization': 'token',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
但是,当我尝试将 json 传递给有效负载时,它不再起作用了。 返回一个空字符串。
jsonfile = {"key" : {
"inner_key": [
{
"inner_key1": "inner_value",
"inner_key2": "inner_value2"
}
],}}
url = url
payload = jsonfile
headers = {
'Authorization': 'token',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
有没有办法重新格式化 jsonfile 以使其包含 \n 和 \t? 我是 json 格式的新手,所以不确定如何了解 go。
您需要将字符串传递给只需要最少调整的data
参数:
import json
payload = json.dumps(jsonfile)
json.dumps
将读取您的字典jsonfile
并为您提供一个不错的字符串,该字符串看起来有点像您最初输入的内容。 事实上你得到
# payload =
'{"key": {"inner_key": [{"inner_key1": "inner_value", "inner_key2": "inner_value2"}]}}'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.