python-requests - Python - 在已经有花括号 '{ }' 的 JSON 字符串上使用 .format()
问题描述
我在我的 POST 请求中发送一个 multipart/form-data 正文。请求中已经有大括号,所以我不确定如何在此字符串上使用 .format() 并将现有括号保留为字符串的一部分('{' 位于索引 104 和 '}' 位于索引 146在下面的有效载荷中
例如,如何将以下动态内容插入到有效负载中?{DATE}、{BATCH_NAME}、{FILE_NAME}、{PERSON_NAME_1} 等。
payload = "--CHEESE\r\nContent-Disposition: form-data; name=\"criteria\"\r\nContent-Type: application/json\r\n\r\n{\r\n \"process_date\": \"{DATE}\"\r\n}\r\n--CHEESE\r\nContent-Disposition: form-data; name=\"{BATCH_NAME}\"; filename=\"{FILE_NAME.txt}\"\r\nContent-Type: text/plain\r\n{FULL_NAME PERSON_1}\r\n{FULL_NAME_PERSON_2}\r\n{FULL_NAME_PERSON_3}\r\n--CHEESE--\r\n"
我试过的
我尝试将有效负载分解为更小的字符串部分,然后在插入内容后将它们连接在一起,但这很麻烦。
有没有更好的办法?
解决方案
解决方案是在字符串中存在单括号的情况下使用双括号' {{ }} '。
像这样:
payload = "--CHEESE\r\nContent-Disposition: form-data; name=\"criteria\"\r\nContent-Type: application/json\r\n\r\n{{\r\n \"process_date\": \"{}\"\r\n}}\r\n--CHEESE\r\nContent-Disposition: form-data; name=\"{}\"; filename=\"{FILE_NAME.txt}\"\r\nContent-Type: text/plain\r\n{FULL_NAME_PERSON_1}\r\n{FULL_NAME_PERSON_2}\r\n{FULL_NAME_PERSON_3}\r\n--CHEESE--\r\n".format(DATE,BATCH_NAME,FULL_NAME_PERSON_1,FULL_NAME_PERSON_2)
推荐阅读
- google-cloud-platform - 有没有办法从 BigQuery 的表中获取所有列的不同值?
- javascript - 我可以将对象用作哈希表吗?
- c++ - 如何使用默认值 0 初始化 Arduino 中的空二维数组?
- python - 删除在语料库 Python 中出现超过 x% 的单词
- c# - 将列表中的列表聚合为一个列表
- flutter - 未重建 PageView Builder
- node.js - 如何使用 selenium 和 nodejs 处理 ntlm 和代理身份验证
- php - PHP Array 获取值。DigitalOcean 列出文件和文件夹
- javascript - 反应原生模糊无法在Android中反应原生相机
- python - TypeError:不支持 mat 数据类型 = 0