麻烦与JSON duckduckgo api

时间:2017-02-05 23:45:30

标签: python json api

我一直在

"json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)" 

当运行这个时,我猜那是因为json是正确的,但是如果那是因为我正在做的事情,或者如果还有一些额外的东西我应该做的让json解码正确

respon = requests.get("https://duckduckgo-duckduckgo-zero-click-info.p.mashape.com/?callback=process_duckduckgo&format=json&no_html=1&no_redirect=1&q={}&skip_disambig=1".format(query),
headers = secrets.headers).json()
result = respon['Results']['FirstURL']

然后将上面改为

respon = requests.get("https://duckduckgo-duckduckgo-zero-click-info.p.mashape.com/?callback=process_duckduckgo&format=json&no_html=1&no_redirect=1&q={}&skip_disambig=1".format(query),
    headers = headers)
json_object = respon.json
print(json_object)

会给我

<bound method Response.json of <Response [200]> 

最后

json_object = respon.text

给了我http://pastebin.com/wcJsM8jF

我不知道为什么我不能得到json。

1 个答案:

答案 0 :(得分:0)

当我从mashape api切换到duckduckgo api时,它正常工作。由于某种原因,api密钥未被接受

import requests

respon = requests.get('http://api.duckduckgo.com/?q={}&format=json'.format(query))
json_object = respon.json()
result = json_object['Results'][0]['FirstURL']

return await pybot.say(result)