我有一个数据结构,我想填写cmd args
params = {
...
...
"blockX": "{\"nameX\":["\Arg1\","\Arg2\",\"Arg3\"........"\ArgX\"]}",
...
...
}
然后我用params作为数据运行一个post请求:
r = requests.post("https://url", data=params)
我只知道如何使用一个元素
"BlockX": "{\"nameX\": \"%s\"}" %ArgX,
此致
答案 0 :(得分:0)
如果你的论点在args
列表中,那么你可以试试这个:
import json
params['blockX'] = json.dumps({'nameX': args})
答案 1 :(得分:0)
您的示例建议您要join
参数。您可以通过与分隔符合并将任何列表转换为单个字符串:
args = ['foo', 'bar', 'hold the mustard']
print('", "'.join(args))
为了获取您的列表'"Arg1", "Arg2"'
等,请将其加入'","'分隔符并将 插入到模板中:
'{"nameX": ["%s"]}' % '", "'.join(args)
请注意'
允许您跳过每个"
的转义。在您的示例中,这看起来像:
params = {
#...
"blockX": '{"nameX": ["%s"]}' % '", "'.join(args),
# ...
}
请记住,您正在将JSON的字符串表示形式放入JSON中!这是......也许不是正确的事情。一个合适的API只需要一个JSON,在这种情况下,您可以直接转储args
。
params = {
#...
"blockX": {
"nameX": args
},
# ...
}