问题
将响应体数据使用.json()
转化时报错
原因
.json()
转化时,需要response
响应体里存在符合json结构的数据
讲解
json数据和json() json().load() json().dump()的关系
-
.json()
用于将 HTTP 响应的 JSON 格式数据转换为 Python 对象。 -
.text()
用于获取 HTTP 响应的文本内容。 -
json.dump()
用于将 Python 对象序列化为 JSON 字符串并保存到文件。 -
json.load()
用于从文件中读取 JSON 数据并解析为 Python 对象。
-
.json()
:这是一个 HTTP 响应对象的方法,用于将响应中的 JSON 格式数据自动解析为 Python 对象(通常是字典)。在使用requests
库发送 HTTP 请求后,通过调用.json()
方法可以方便地将响应的 JSON 数据转换为 Python 对象,以便进一步处理和操作 -
json.load()
:这是json
模块中的一个方法,用于从文件中读取 JSON 数据并解析为 Python 对象。与.json()
方法不同,json.load()
主要用于从磁盘文件中读取 JSON 数据并将其转换为 Python 对象,而不是从 HTTP 响应中解析。
with open(‘data.json’, ‘r’) as file:
data = json.load(file)
print(data)
-
.json()
用于从 HTTP 响应中解析 JSON 数据; -
json.load()
用于从文件中读取 JSON 数据并解析为 Python 对象。
此外,如果你有一个 JSON 格式的字符串,也可以使用 json.loads()
方法将其解析为 Python 对象
response
是一个 HTTP 响应对象,而不是一个包含 JSON 数据的字典。
当你使用 response.json()
方法时,该方法会将响应中的 JSON 数据解析为 Python 对象(通常是字典),然后将这个对象返回给你。所以,在你的代码中,json_data
是一个包含了解析后 JSON 数据的字典,你可以直接通过键来访问其中的值。
.json() 是将http对象中的json数据,转成python对象
而json.load(‘xxxx’) 则是用于字符串转json返回,json数据