是否有一种通用的方法来解析用这种表示法发送的数组?
>>> 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'
有没有理由不这样做?
答案 0 :(得分:2)
为什么您希望两个完全不同的查询字符串的结果相同?您的第二个查询字符串中有两个不同的键:a[0]
和a[1]
。它们是字符串,urlparse
不会进一步解析它们。您将在结果字典中以查询字符串中出现的名称找到它们。
如果urlparse
表现得像你想要的那样,那将如何解析呢?
a=1&a=2&a[0]=3&a[1]=4