在Python中解析数组请求

时间:2013-09-14 14:02:16

标签: python arrays parsing

是否有一种通用的方法来解析用这种表示法发送的数组?

>>> import urlparse
>>> urlparse.parse_qs('a=1&a=2')['a']
['1', '2']

我希望以下内容的输出相同:

>>> urlparse.parse_qs('a[0]=1&a[1]=2')['a']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'a'

有没有理由不这样做?

1 个答案:

答案 0 :(得分:2)

为什么您希望两个完全不同的查询字符串的结果相同?您的第二个查询字符串中有两个不同的键:a[0]a[1]。它们是字符串,urlparse不会进一步解析它们。您将在结果字典中以查询字符串中出现的名称找到它们。

如果urlparse表现得像你想要的那样,那将如何解析呢?

a=1&a=2&a[0]=3&a[1]=4