Chcę przekonwertować taki zarys zapytania:

a=1&b=2

Do sznurka JSON.

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

Jakieś istniejące rozwiązanie?

15
Bin Chen 11 sierpień 2012, 11:21

4 odpowiedzi

Najlepsza odpowiedź
import json
import urlparse

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

Plony

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

Jest to w rzeczywistości lepsze niż twoje {X0}}, ponieważ struny Query URL można legalnie zawierać ten sam klucz wiele razy, tj. Wiele wartości na klucz.

38
Tomalak 11 sierpień 2012, 07:37
>>> strs="a=1&b=2"

>>> {x.split('=')[0]:int(x.split('=')[1]) for x in strs.split("&")}
{'a': 1, 'b': 2}
5
Ashwini Chaudhary 11 sierpień 2012, 07:26

Python 3.x.

from json import dumps
from urllib.parse import parse_qs

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

Krzyczy

{"b": ["2"], "a": ["1"]}
4
kamarkiewicz 30 lipiec 2015, 20:36
dict((itm.split('=')[0],itm.split('=')[1]) for itm in qstring.split('&'))
0
shivg 14 sierpień 2014, 11:56