在Python中将数组作为GET查询参数获取

Rom*_* M. 45 python list request werkzeug flask

我知道在php中我可以$_GET['key1']['key2']用来检索以数组形式发送的GET数据但是在Python中我可能会收到一个字符串并且它不被识别为数组/列表.

如果重要的话,我会使用flask/werkzeug.

Rob*_*wie 55

request.args是一个MultiDict实例(MultiDict,Flask请求api).

request.args[key] ## returns a single value, the first if there are multiple
request.args.getlist(key) ## returns a list
Run Code Online (Sandbox Code Playgroud)

如果要提交比使用简单键:vals编码更复杂的结构,请考虑发送json编码对象.

另外,查看jQuery递归param序列化模式,以及可以对其进行反序列化的jquery-unparam lib.

  • 如果将所有var传递为`&var [] = 1&var [] = 2 ...`,则getlist会有所帮助。在这种情况下,我只需使用`request.args.getlist('var []')`。但是,如果使用键传递参数,则:`&var [0] = 1&var [1] = 2 ...`—这将成为问题…… (3认同)

csc*_*orn 49

参数名称的深层解析对于PHP AFAIK是唯一的.

如果您只需要一个简单的列表,只需传递几个具有相同名称的参数并使用request.args.getlist(<paramname>)(文档).

否则,您必须自己解析查询字符串.