python请求库响应格式

时间:2015-01-23 16:57:15

标签: python http python-requests

我最近开始使用请求库(非常好)。然而,当我通过post方法获得请求响应时,它似乎返回一个String(unicode),当我检查类型时,即使它看起来像一个字典 - 这使得从中提取数据变得更加困难。

有没有办法让json数据以字典格式返回,所以我可以轻松提取几个字段?

特别是像:

这样的请求
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.post("http://httpbin.org/post", data=payload)
>>> print(r.text)
{
  ...
  "form": {
    "key2": "value2",
    "key1": "value1"
  },
  ...
}

r.text是一个unicode字符串而不是一个字典(即使它看起来像上面一个)?

2 个答案:

答案 0 :(得分:3)

使用响应对象的json方法。

print r.json()

答案 1 :(得分:1)

使用内置json解码器的请求:

r.json()

请参阅:http://docs.python-requests.org/en/latest/user/quickstart/#json-response-content