1

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

>>> 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'

不是这样有原因吗?

4

1 回答 1

3

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

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

a=1&a=2&a[0]=3&a[1]=4
于 2013-09-14T14:43:20.230 回答