python:如何将查询字符串转换为json字符串?

时间:2012-08-11 07:21:07

标签: python json

我想转换这样的查询字符串:

a=1&b=2

到json字符串

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

任何现有的解决方案?

4 个答案:

答案 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)

Python 3.x

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('&'))