我請求與jQuery的自動完成功能使用YouTube的搜索詞,但我有一個很難轉換的URL響應轉換爲正確的格式。的Python:轉換JSON(通過URL返回)到列表
在我(Django的/ Python)的觀點我做的:
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')
(我硬編碼搜索項=爲簡單起見, '跳')
如果我做data2.read()
我得到了我認爲是JSON (複製粘貼網址到瀏覽器也會返回此。)
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"]],"","","","","",{}])
我需要在jQuery的自動完成功能可以讀取的格式返回此。我知道它會工作,如果我能得到它到一個列表,例如,mylist = ['jumpstyle', 'jump', 'jump around', ...]
然後將其轉換回JSON返回之前:
json.dumps(mylist)
(這工作,如果我直接直接定義mylist
爲)
但我無法從URL返回的數據傳遞給一個簡單的列表(然後我轉換回JSON)或某種形式的JSON,我可以直接返回被使用自動完成。
我試過,除其他事項外,
j2 = json.loads(data2)
和
j2 = json.loads(data2.read())
希望有人能幫助!
啊......我怎麼說看例如:[「jumpstyle」,「jump」,「jump around」...]我不確定如何操作這些數據:它是什麼?一個列表,一個字符串,一個json對象?我試過json.loads(returned_by_url),但得到一個錯誤。 – dkgirl 2011-01-08 14:41:41
澤維爾似乎已經覆蓋:) – 2011-01-08 16:14:11