我想转换这样的查询字符串:
a=1&b=2
到json字符串
{"a":1, "b":2}
任何现有的解决方案?
答案 0 :(得分:34)
import json
import urlparse
json.dumps(urlparse.parse_qs("a=1&b=2"))
产量
'{"a": ["1"], "b": ["2"]}'
这实际上比您的{"a":1, "b":2}
更好,因为URL查询字符串可以合法地多次包含相同的密钥,即每个密钥多个值。
答案 1 :(得分:4)
>>> strs="a=1&b=2"
>>> {x.split('=')[0]:int(x.split('=')[1]) for x in strs.split("&")}
{'a': 1, 'b': 2}
答案 2 :(得分:2)
from json import dumps
from urllib.parse import parse_qs
dumps(parse_qs("a=1&b=2"))
yelds
{"b": ["2"], "a": ["1"]}
答案 3 :(得分:0)
dict((itm.split('=')[0],itm.split('=')[1]) for itm in qstring.split('&'))