将 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
},
# ...
}
我有一个数据结构,我想用 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
},
# ...
}