json模块的两类方法:
- json.dump()、json.dumps(),序列化(Serialize)将字典转成json格式字符串,以便传输存储。
- json.load()、json.loads(),反序列化(Deserialize)json格式字符串转换成字典,便于分析处理。
(字典是无序容器,字符串,列表等是有序数据容器。)
如果要获取json数据,什么时候用load(),什么时候用loads()?
1、json.load(),是一个读取并反序列化(将每个json形式的字符串转成字典)的方法,支持读取text或二进制文档里的json数据,返回的是一个包含若干字典的列表。json.load()处理的是打开的文档内容。
2、json.loads(),处理的是字符串、字节等数据,将字符串decoding成字典等。
requests.get(host)接口请求,返回的response是一个对象,以下表格是其属性
属性 | 说明 |
---|---|
r.headers | 响应头,可单独取出某个字段的值,比如(r.headers)[‘content-type’] |
r.status_code | HTTP请求的返回状态,200表示连接成功,404表示失败 |
r.content | 响应的内容,byte类型 |
r.url | 请求的最终地址 |
r.cookies | 服务器发回的cookies,RequestsCookieJar类型 |
r.text | 响应的内容,unicode类型 |
r.encoding | 要解码的r.text的编码方式 |
response对象,提供了json方法来对json格式的响应体进行反序列化,即response.json(),可以不用json.loads方法进行反序列化。
response.json()里的json,是个方法,不是python的json模块。