📅  最后修改于: 2023-12-03 15:04:53.730000             🧑  作者: Mango
在Python中,我们经常需要与API交互来获取或提交数据,API通常返回一个JSON格式的响应。当使用Python请求库如requests来发送API请求时,我们可以使用response.json()
方法来从响应中提取JSON数据。
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,通常用于从服务器获取或向服务器发送数据。 JSON对象由键值对组成,键和值之间用冒号分隔,对象之间使用逗号分隔。JSON数组由多个值组成,使用逗号分隔。
当我们在Python中使用requests库发送API请求时,API通常会返回JSON格式的响应。通过使用response.json()方法,我们可以从响应中获取JSON数据。
import requests
response = requests.get("https://api.github.com")
data = response.json()
print(data)
在上面的代码中,我们向GitHub API发送一个GET请求,并将响应存储在response变量中。然后,我们使用response.json()方法从响应中提取JSON数据并将其存储在data变量中。最后,我们打印data变量以查看响应数据。
我们可以像访问Python字典一样访问JSON数据。键是JSON对象中的字符串,可以用点标记法或方括号访问。下面是一个简单的例子:
import requests
response = requests.get("https://jsonplaceholder.typicode.com/todos/1")
data = response.json()
print(data["title"])
在上面的代码中,我们向JSONPlaceholder API发送一个GET请求,并将响应存储在response变量中。然后,我们使用response.json()方法从响应中提取JSON数据并将其存储在data变量中。最后,我们打印data变量中的"title"键的值。
在读取JSON数据时,可能会遇到JSON格式错误,例如键或值不是用引号括起来的字符串。为了避免Python中的JSON解析错误,可以使用try-except语句来捕捉JSONDecodeError异常。
import requests
import json
response = requests.get("https://jsonplaceholder.typicode.com/todos/1")
try:
data = response.json()
except json.JSONDecodeError as e:
print("JSON解析错误:", e.msg)
data = {}
print(data)
在上面的代码中,我们向JSONPlaceholder API发送一个GET请求,并将响应存储在response变量中。然后,我们使用try-except语句从响应中提取JSON数据。如果遇到JSON解析错误,我们将打印错误消息并使用一个空字典来代替data变量的值。
response.json()方法是Python中一个强大的API工具,它可以从API响应中提取JSON数据。我们可以像访问Python字典一样访问JSON数据,也可以使用try-except语句捕捉JSON解析错误。