2017-03-06 2 views
2

ich diese URL haben:mehrere Werte von URL zu json in Django

http://example.com?variable=1&variable=2&a=text 

Ich möchte diese Werte zu JSON zu transformieren.

Ich habe versucht:

data = json.dumps(request.GET) 

Aber ich bekomme {"variable": "2", "a": "text"}

Es scheint für einzelne Werte zu arbeiten, aber nicht für mehrere diejenigen.

Wie kann ich alle Werte aus der URL transformiert bekommen?

+0

Mögliche Duplikat [URL Abfrageparameter Python dict] (http://stackoverflow.com/questions/21584545/url -Query-Parameter-zu-Dict-Python) –

Antwort

3

Das Modul urlparse kann dies für Sie tun.

Ergebnisse:

from urlparse import urlparse, parse_qs 

o = urlparse('http://example.com?variable=1&variable=2&a=text') 
qs = parse_qs(o.query) 
print(qs) 

Ergebnisse:

{'variable': ['1', '2'], 'a': ['text']} 
+0

Aus irgendeinem Grund habe ich diesen Fehler (anaconda2/lib/python2.7/urlparse.py in Urlsplit, Zeile 182): 'Funktion' Objekt hat kein Attribut 'finden' Also kann ich es jetzt nicht versuchen ... Suche nach einer Lösung für diesen Fehler. –

+0

gelöst, aber ich habe das: {'a': ['1', '2' >> "], 'search_txt': ['T']} –

+0

Es scheint zu funktionieren. Der Grund, warum ich dieses Ergebnis erhalten habe, scheint request.get_full_path zu sein. Es wil Rück so etwas wie: > Hinweis: Ich bin mit django –