そのようなクエリ文字列を変換したい:
a=1&b=2
json文字列に
{"a":1, "b":2}
既存のソリューションはありますか?
import json
import urlparse
json.dumps(urlparse.parse_qs("a=1&b=2"))
収量
'{"a": ["1"], "b": ["2"]}'
URLクエリ文字列には合法的に同じキーを複数回含めることができるため、これは実際にはよりも優れて{"a":1, "b":2}
います。つまり、キーごとに複数の値を含めることができます。
from json import dumps
from urllib.parse import parse_qs
dumps(parse_qs("a=1&b=2"))
イェルズ
{"b": ["2"], "a": ["1"]}
>>> strs="a=1&b=2"
>>> {x.split('=')[0]:int(x.split('=')[1]) for x in strs.split("&")}
{'a': 1, 'b': 2}