Estoy solicitando los términos de búsqueda de YouTube para usar con la función autocompletar de jquery, pero estoy teniendo dificultades para convertir la respuesta de la URL en un formato adecuado.Python: Convierta JSON (devuelto por una URL) en la Lista
En mi opinión (Django/Python) que hago:
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 hardcoded el término de búsqueda = 'saltan' para simplificar)
Si hago data2.read()
consigo lo que yo creo es JSON (copiar y pegar la URL en un navegador, también regresa este.)
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"]],"","","","","",{}])
necesito devolver esto en un formato que puede leer jQuery autocompletado. Sé que va a funcionar si lo puedo conseguir en una lista, por ejemplo, mylist = ['jumpstyle', 'jump', 'jump around', ...]
y después convertirlo de nuevo en JSON antes de devolverlo:
json.dumps(mylist)
(esto funciona si defino directamente mylist
directamente como escrito arriba.)
Pero no puedo obtener de los datos devueltos por la URL una lista simple (que luego convierto de nuevo a JSON) o alguna forma de JSON que puedo devolver directamente para ser utilizada por auto completo
lo he intentado, entre otras cosas,
j2 = json.loads(data2)
y
j2 = json.loads(data2.read())
espero que alguien pueda ayudar!
Esto funciona genial. ¡Gracias! – dkgirl
+1 bonita respuesta completa –