【发布时间】:2014-05-29 07:42:22
【问题描述】:
是否有用于查询字符串的预构建反序列化器,例如:
foo[]=1&foo[]=2&foo[]=34&....&foo[]=5
目前我只是使用replace 和split 处理字符串以获得包含所有值的序列,但我很好奇Python 或Django 中是否没有一些实用程序/帮助方法来执行此操作。
显然 Django 在处理请求时能够做非常相似的事情,但我 a) 不知道我是否/如何使用它并且 b) 如果它可以从foo[] 符号接收序列。
注意:我无法更改源字符串,因为它来自第三方包。
更新
感谢您的回复。我的值来自 POST,所以我做了以下操作(不确定是否有更直接的方法,例如与 request.GET.getlist() 一起使用的答案):
foo = QueryDict(request.POST.get('my_var_name')).getlist('foo[]')
【问题讨论】:
-
预构建解析器?我什至不知道
foo[]=1是什么意思。 -
@freakish:可能是 jQuery;这是发布数组的 PHP 表示法。
-
@MartijnPieters 哦,我误会了。我以为他想从那个字符串中检索
foo。 -
@MartijnPieters 我明白了,谢谢。不使用 PHP 的另一个原因。 ;)
标签: python django get deserialization