我请求 youtube 搜索词与 jquery 自动完成一起使用,但我很难将 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')
(为了简单起见,我对搜索词 = 'jump' 进行了硬编码)
If I do data2.read()
我得到了我认为是 JSON 的内容(将 url 复制粘贴到浏览器中也会返回此值。)
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)
and
j2 = json.loads(data2.read())
希望有人可以帮忙!