📅  最后修改于: 2023-12-03 15:36:37.153000             🧑  作者: Mango
JSON(JavaScript 对象表示法)是一种轻量级的数据交换格式。它由键值对组成,适用于数据的序列化和传输。在Python中,我们可以使用内置的json
模块将Python对象转换为JSON格式,并将JSON格式解析回Python对象。
在本文中,我们将学习如何使用Python将数据附加到一个JSON文件中。
首先,我们需要一个JSON文件来附加数据。可以从网络上下载已有的JSON文件,或者创建一个新的JSON文件。在本文中,我们将使用一个名为example.json
的JSON文件。
{
"students": [
{
"name": "Alice",
"age": 20,
"major": "Computer Science"
},
{
"name": "Bob",
"age": 22,
"major": "Mathematics"
}
]
}
上述JSON文件包含一个students
数组,每个元素都是一个包含名字、年龄和专业的学生对象。
使用Python向JSON文件附加数据之前,我们需要打开文件并将其读入内存。在Python中,我们可以使用内置的json
模块的load()
函数来从JSON文件中读取数据。
import json
with open('example.json', 'r') as f:
data = json.load(f)
上述代码将example.json
文件的内容读入到data
变量中。
接下来,我们可以向data
变量中的students
数组添加一个新的学生对象。我们的新学生名为Charlie
,年龄为21
,专业为Physics
。
new_student = {
"name": "Charlie",
"age": 21,
"major": "Physics"
}
data['students'].append(new_student)
现在,我们已经成功地向data
变量中添加了一个新的学生对象。下一步是将data
变量中的内容写入到原始的JSON文件中。为此,我们可以使用json
模块的dump()
函数将Python对象转换为JSON格式并写入文件。
with open('example.json', 'w') as f:
json.dump(data, f)
上述代码将修改后的data
变量写回到example.json
文件中。
以下是完整的Python代码,它打开example.json
文件,添加一个新的学生对象,并将修改后的内容写回到原始的JSON文件中。
import json
with open('example.json', 'r') as f:
data = json.load(f)
new_student = {
"name": "Charlie",
"age": 21,
"major": "Physics"
}
data['students'].append(new_student)
with open('example.json', 'w') as f:
json.dump(data, f)
现在,example.json
文件中包含三个学生对象,而不仅仅是两个。我们可以使用类似的Python代码,向任何JSON文件添加数据。