23

我从来没有做过任何面向对象的编程,只写过基本的脚本。

我在玩 grequests

rs = (grequests.get('https://api.github.com/repositories?since='+str(page), auth=(login, password)) for page in pages)
blah = grequests.map(rs)
print type(blah[0])

回应是:

<class 'requests.models.Response'>

通常我将响应转换为文本,然后将其加载到 json 中以便我可以解析它,但我不能用这个响应来做到这一点。

我了解类的概念,但没有使用过它们,也不知道如何处理该响应。

有没有办法可以将它转换为json?

4

2 回答 2

27

blah[0]在您的情况下,是一个requests.models.Response类,根据源代码文档,该类具有json()将 JSON 响应反序列化为 Python 对象的方法,使用json.loads()

print blah[0].json()
于 2014-07-29T13:23:39.893 回答
2

响应对象可以通过两种方式转换为 JSON。

  1. 使用方法.json()
    blah[0].json()

或者

  1. 转换为文本并加载为 json。
    json.loads(blah[0].text)
于 2021-03-25T21:45:48.547 回答