Żądam terminów wyszukiwawczych youtube do użycia z autouzupełnianiem jquery, ale mam problem z przekonwertowaniem odpowiedzi URL na odpowiedni format.Python: Konwertuj JSON (zwrócony przez URL) na listę
W moim (Django/Python) Widok zrobić:
data2 = urllib2.urlopen('http://suggestqueries.google.com/complete/search?hl=en&ds=yt&client=youtube&hjson=t&jsonp=window.yt.www.suggest.handleResponse&q=jum&cp=3')
(I sztywno poszukiwaniu TERM = 'skok' dla uproszczenia)
Jeśli robię data2.read()
mam w co wierzę jest JSON (copy-wklejając URL w przeglądarce zwraca również ten.)
window.yt.www.suggest.handleResponse(["jum",[["jumpstyle","","0"],["jump","","1"],["jump around","","2"],["jump on it","","3"],["jumper","","4"],["jump around house of pain","","5"],["jumper third eye blind","","6"],["jumbafund","","7"],["jump then fall taylor swift","","8"],["jumpstyle music","","9"]],"","","","","",{}])
muszę wrócić w tym w formacie, który można odczytać jQuery autouzupełniania. Wiem, że to będzie działać, jeśli mogę dostać go na liście, na przykład, mylist = ['jumpstyle', 'jump', 'jump around', ...]
a następnie przekształcić go z powrotem do json przed wpuszczeniem go:
json.dumps(mylist)
(To działa, jeśli bezpośrednio określić mylist
bezpośrednio jako napisane powyżej.)
Ale nie mogę uzyskać danych, które są zwracane przez adres URL do prostej listy (którą następnie zamieniam z powrotem w JSON) lub do jakiejś formy JSON, którą mogę zwrócić bezpośrednio do użycia przez autouzupełnienie.
Próbowałem, między innymi,
j2 = json.loads(data2)
i
j2 = json.loads(data2.read())
nadzieję, że ktoś może pomóc!
To działa świetnie. Dzięki! – dkgirl
+1 miła kompletna odpowiedź –