requests如何解析json响应?

乙醇 创建于 10 个月 之前

最后更新时间 2018-09-11

官方文档

如果服务器返回json格式的数据,那么我们一般希望可以把json字符串转成python的dict数据类型。

>>> import requests

>>> r = requests.get('https://api.github.com/events')
>>> r.json()
[{u'repository': {u'open_issues': 0, u'url': 'https://github.com/...

如果JSON解析失败,r.json()会抛异常。比如假设响应的返回状态码是204(No Content),又或者响应的返回json字符串格式有错误,那么r.json()回抛出ValueError: No JSON object could be decoded.异常。

需要引起注意的是r.json()解析成功了并不代表请求是成功的。很多服务器在响应失败的时候也会返回json字符串,如果要判断响应的状态的话,建议使用r.raise_for_status() 或者使用check r.status_code来判断返回值是否符合预期。

我要留言

暂无评论