Python--json模块
当我们需要在 Python 中处理 JSON 格式的数据时,Python 标准库中提供了一个称为json的模块,该模块包含了多个函数,可用于将 Python 对象转换为 JSON 字符串或者将 JSON 字符串转换为 Python 对象。
常用的语法有json.dumps(),json.loads(),json.dump(),json.load()
json.dumps() 和json.loads()用于将 JSON 格式字符串与 Python 对象之间相互转换,而json.dump()和json.load()用于读写 JSON 数据到文件或流中。
这里是它们之间的区别:
- json.dumps() 接受一个 Python 对象并返回一个 JSON 格式的字符串,而json.loads()接受一个 JSON 格式的字符串并返回一个 Python 对象。
- json.dump()将 Python 对象以 JSON 格式写入到一个类文件对象中,而json.load()从一个类文件对象中读取 JSON 格式的数据并将其转换为 Python 对象。
dumps()方法
import json
# Python 对象
person = {
'name': 'Alice',
'age': 30,
'city': 'New York'
}
# 将 Python 对象转换为 JSON 字符串
person_json = json.dumps(person)
# 输出 JSON 字符串
print(person_json)在上述例子中,我们首先导入了json模块,然后定义了一个 Python 字典对象person。
接着,我们使用json.dumps()函数将person对象转换为 JSON 字符串,并将结果保存在person_json变量中。
打印结果如下:
{"name": "Alice", "age": 30, "city": "New York"}loads()方法
import json
# JSON 字符串
person_json = '{"name": "Alice", "age": 30, "city": "New York"}'
# 将 JSON 字符串转换为 Python 对象
person = json.loads(person_json)
# 输出 Python 对象
print(person)在上述例子中,我们定义了一个 JSON 字符串person_json()。接着,我们使用json.load()函数将person_json()字符串转换为 Python 对象,并将结果保存person变量中。
打印结果如下:
{'name': 'Alice', 'age': 30, 'city': 'New York'}
当我们需要读写 JSON 格式的文件时,可以使用json模块中的load()和dump()方法。load()方法用于从 JSON 文件中读取数据并将其转换为 Python 对象,而dump()方法用于将 Python 对象转换为 JSON 格式并将其写入文件。
首先,我们需要创建一个名为example.json的 JSON 文件,其内容如下
{
"name": "Alice",
"age": 30,
"city": "New York"
}load()方法
接下来,我们可以使用load()方法将该文件中的数据读取为 Python 对象:
import json
# 从 JSON 文件中读取数据并转换为 Python 对象
with open('example.json') as f:
data = json.load(f)
# 输出 Python 对象
print(data)输出结果如下:
{'name': 'Alice', 'age': 30, 'city': 'New York'}dump()方法
接下来,我们可以修改该 Python 对象,并使用dump()方法将其写入到 JSON 文件中:
import json
# 从 JSON 文件中读取数据并转换为 Python 对象
with open('example.json') as f:
data = json.load(f)
# 修改 Python 对象
data['age'] = 35
# 将 Python 对象转换为 JSON 格式并写入文件
with open('example.json', 'w') as f:
json.dump(data, f)
# 输出修改后的 Python 对象
print(data)输出结果如下:
{'name': 'Alice', 'age': 35, 'city': 'New York'}最后,我们可以再次查看example.json文件的内容,可以发现其已经被更新为修改后的数据:
{
"name": "Alice",
"age": 35,
"city": "New York"
}这就是load()和dump()方法的基本用法,可以使用它们来方便地读写 JSON 文件。
















