16

そのようなクエリ文字列を変換したい:

a=1&b=2

json文字列に

{"a":1, "b":2}

既存のソリューションはありますか?

4

4 に答える 4

40
import json
import urlparse

json.dumps(urlparse.parse_qs("a=1&b=2"))

収量

'{"a": ["1"], "b": ["2"]}'

URLクエリ文字列には合法的に同じキーを複数回含めることができるため、これは実際にはよりも優れて{"a":1, "b":2}います。つまり、キーごとに複数の値を含めることができます。

于 2012-08-11T07:31:40.727 に答える
6

Python 3.x

from json import dumps
from urllib.parse import parse_qs

dumps(parse_qs("a=1&b=2"))

イェルズ

{"b": ["2"], "a": ["1"]}
于 2015-07-30T20:36:36.087 に答える
5
>>> strs="a=1&b=2"

>>> {x.split('=')[0]:int(x.split('=')[1]) for x in strs.split("&")}
{'a': 1, 'b': 2}
于 2012-08-11T07:26:15.523 に答える