Python 读取 JSON 文件

1. 简介
JSON(JavaScript Object Notation)是一种常用的数据交换格式,具有易读易写的特点,在网络应用中广泛使用。Python 提供了内置的 json 模块,用于处理 JSON 格式的数据。
本文将介绍如何使用 Python 读取 JSON 文件,包括读取本地文件和通过网络请求获取 JSON 数据。
2. 读取本地 JSON 文件
在 Python 中,读取本地 JSON 文件非常简单。首先,我们需要通过 open() 函数打开文件,并使用 json 模块的 load() 函数加载 JSON 数据。
下面是一个示例,我们假设有一个名为 data.json 的 JSON 文件,其中存储着一个包含学生信息的列表:
[
{
"name": "张三",
"age": 18,
"gender": "男"
},
{
"name": "李四",
"age": 20,
"gender": "女"
},
{
"name": "王五",
"age": 19,
"gender": "男"
}
]
我们可以使用以下代码读取并解析该 JSON 文件:
import json
# 打开文件
with open('data.json', 'r') as file:
# 加载 JSON 数据
data = json.load(file)
# 输出结果
print(data)
运行以上代码,输出结果如下:
[
{
"name": "张三",
"age": 18,
"gender": "男"
},
{
"name": "李四",
"age": 20,
"gender": "女"
},
{
"name": "王五",
"age": 19,
"gender": "男"
}
]
我们成功将 JSON 数据读取到了 Python 中的 data 变量中。
3. 通过网络请求获取 JSON 数据
除了读取本地 JSON 文件,我们还可以使用 Python 通过网络请求获取 JSON 数据。Python 提供了 requests 模块用于发送网络请求,我们可以使用它获取 JSON 数据。
在继续之前,请确保已在 Python 中安装了 requests 模块。如果没有安装,可以使用以下命令进行安装:
pip install requests
下面是一个示例,我们使用 requests.get() 方法发送 GET 请求,并使用 json() 方法将返回的 JSON 数据解析为 Python 对象:
import requests
import json
# 发送 GET 请求
response = requests.get('https://api.example.com/data.json')
# 将返回的 JSON 数据解析为 Python 对象
data = response.json()
# 输出结果
print(data)
这里我们假设我们要获取的 JSON 数据位于 https://api.example.com/data.json。
4. JSON 数据的使用
在读取了 JSON 数据后,我们可以通过索引和键值对的方式访问其中的元素。
假设我们有以下 JSON 数据存储在 data.json 文件中:
{
"name": "Tom",
"age": 20,
"gender": "male",
"hobbies": ["reading", "playing guitar", "hiking"],
"address": {
"street": "123 Main Street",
"city": "New York",
"country": "USA"
}
}
我们可以通过以下代码访问它的各个元素:
import json
# 读取 JSON 数据
with open('data.json', 'r') as file:
data = json.load(file)
# 访问元素
name = data['name']
age = data['age']
gender = data['gender']
hobbies = data['hobbies']
address = data['address']
print(name) # 输出: Tom
print(age) # 输出: 20
print(gender) # 输出: male
print(hobbies) # 输出: ['reading', 'playing guitar', 'hiking']
print(address) # 输出: {'street': '123 Main Street', 'city': 'New York', 'country': 'USA'}
需要注意的是,如果 JSON 数据中的元素是一个列表或字典,我们可以直接通过键值对的方式访问它们。如果数据中的元素是个数值或字符串,我们可以直接将其赋值给一个变量。
5. 总结
本文介绍了如何使用 Python 读取 JSON 文件。我们学习了如何读取本地 JSON 文件和通过网络请求获取 JSON 数据。同时,我们还学习了如何访问和使用 JSON 数据中的元素。
极客教程