json.loads()和response.json()的区别

写博客还处于探索阶段,先来个最近纠结好久的pythonjson问题开张:

首先导入requests模块:

import requests

最近写的简单的爬取肺炎数据的爬虫,首先在console里面找到的API:

url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5'
response = requests.get(url)

然后响应内容就是对应的json对象

json_str = response.json()
print(type(json_str)) # dict

发现response.json()的作用就是将API页面的json转化为字典
然后我想取出其中的值:

print(json_str['data']['lastUpdateTime'])

结果报错:切片应该是int而不是str,仔细看了页面才知道原来data的值被封成了str

所以json.loads()作用是把str转化为字典,如果没有封成str就不用这一步
注意:json.loads()需要导入json模块

你可能感兴趣的:(json.loads()和response.json()的区别)