requests如何解析json响应?
乙醇 创建于 almost 7 years 之前
最后更新: less than a minute 之前
阅读数: 154
如果服务器返回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
来判断返回值是否符合预期。