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

まったく異なる 2 つのクエリ文字列からの結果が同じであると期待するのはなぜでしょうか? 2 番目のクエリ文字列には、 と の 2 つの異なるキーがありa[0]ますa[1]。これらは文字列でurlparseあり、それ以上解析しません。結果の辞書で、クエリ文字列に表示される名前でそれらを見つけることができます。

あなたurlparseが望むように振る舞うとしたら、これはどのように解析されますか?

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