Python请求正文自动添加单引号

问题描述 投票:1回答:1

在我的python脚本中,我试图遍历包含域名的文本文件,并将它们填充到我的JSON请求体中。 API调用所需的正确格式是

payload =   {
"threatInfo": { 
  "threatEntries": [
   {"url": "http://malware.wicar.org/"}, {"url": "http://urltocheck2.org"},

  ]
}
}

我用来复制它的变量叫做mystring

domain_list_formatted = []

for item in domain_list:
    domain_list_formatted.append("""{"url": """ + '"{}"'.format(item) + "},")

domain_list_formatted_tuple= tuple(domain_list_formatted)

mystring = ' '.join(map(str, (domain_list_formatted_tuple)))

打印mystring获取我需要传递给有效负载变量的结果

{"url": "http://malware.wicar.org/"},
{"url": "http://www.urltocheck2.org/"},

但是,我想循环这个,所以我添加以下循环

for item in domain_list_formatted_tuple:
   printcorrectly = ' '.join(map(str, (domain_list_formatted_tuple)))   
   payload["threatInfo"]["threatEntries"] = [printcorrectly]

这就是结果:

['{"url": "http://malware.wicar.org/"}, {"url": "http://www.urltocheck2.org/"}']

支架外侧的单引号完全抛弃它。 for循环如何以创建此问题的方式修改或编码有效负载?非常感谢您的帮助。

python json python-requests
1个回答
0
投票

你的代码:

for item in domain_list_formatted_tuple:
   printcorrectly = ' '.join(map(str, (domain_list_formatted_tuple)))   
   payload["threatInfo"]["threatEntries"] = [printcorrectly]

应该是:

for item in domain_list_formatted_tuple:
   printcorrectly = ' '.join(map(str, (domain_list_formatted_tuple)))   
   payload["threatInfo"]["threatEntries"] = printcorrectly

没有围绕printcorrectly的括号

如果你有 :

a = ['xxx']
print(a)

您将获得带括号和引号的输出['xxx']

© www.soinside.com 2019 - 2024. All rights reserved.