将 args 解析为 python 中的 json 个元素

Parse args to json elements in python

我有一个数据结构,我想用 cmd args 填充

params = {
  ...
  ...
  "blockX": "{\"nameX\":["\Arg1\","\Arg2\",\"Arg3\"........"\ArgX\"]}",
  ...
  ...
}

然后我运行一个post请求,参数作为数据:

r = requests.post("https://url", data=params)

我只知道一个元素怎么做

"BlockX": "{\"nameX\": \"%s\"}" %ArgX,

此致

如果你的参数在 args 列表中,那么你可以试试这个:

import json
params['blockX'] = json.dumps({'nameX': args})

你的例子表明你想要 join 参数。您可以通过使用分隔符合并将任何列表转换为单个字符串:

args = ['foo', 'bar', 'hold the mustard']
print('", "'.join(args))

因此,要获取您的列表 '"Arg1", "Arg2"' 等,请使用 '", "' 分隔符将它们连接起来,然后将 that 插入到您的模板中:

'{"nameX": ["%s"]}' % '", "'.join(args)

请注意 ' 如何允许您跳过每个 " 的转义。在您的示例中,这看起来像:

params = {
  #...
  "blockX": '{"nameX": ["%s"]}' % '", "'.join(args),
  # ...
 }

请记住,您正在将 JSON 的字符串表示形式放入 JSON!这……也许不是正确的做法。一个合适的 API 应该只有一个 JSON,在这种情况下你可以直接转储 args

params = {
  #...
  "blockX": {
    "nameX": args
  },
  # ...
 }