用Python解析数组请求
是否有一种通用的方法来解析以这种表示法发送的数组用Python解析数组请求,python,arrays,parsing,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>", lin
>>> 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'
>>urlparse.parse_qs('a[0]=1&a[1]=2')['a']
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
KeyError:'a'
为什么不是这样呢?为什么您希望两个完全不同的查询字符串的结果是相同的?在第二个查询字符串中有两个不同的键:
a[0]
和a[1]
。它们是字符串,urlparse
不会进一步解析它们。您将在结果字典中的查询字符串中显示它们的名称下找到它们
如果urlparse
的行为像您希望的那样,该如何解析
a=1&a=2&a[0]=3&a[1]=4
可能是因为这是一种非常不寻常的构造查询字符串的方法。它来自哪里?@DanielRoseman我在使用mootools时看到它:
var-arr=[1,2];新请求({url:'.''}).post({a:arr})代码>语义上,它们都是web上的数组符号。您的示例我希望被解析为['3','4','1','2']
。