【发布时间】:2012-08-11 07:21:06
【问题描述】:
我想转换这样的查询字符串:
a=1&b=2
转json字符串
{"a":1, "b":2}
任何现有的解决方案?
【问题讨论】:
我想转换这样的查询字符串:
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"]}'
这实际上比您的{"a":1, "b":2} 更好,因为 URL 查询字符串可以合法地多次包含相同的键,即每个键有多个值。
【讨论】:
urlparse 现在称为 urllib.parse
from urllib import parse as urlparse,而无需更改其余代码。
parse_qsl - dict(urlparse.parse_qsl('a=1&b=2')) 产生 '{"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}
【讨论】:
d = dict((key, value) for (key, value) in iterable)
dict((itm.split('=')[0],itm.split('=')[1]) for itm in qstring.split('&'))
【讨论】: