為了了解Json以及在python中如何處理Json數據,我在這里整理了一段全面詳細的 Python 代碼,演示了如何加載、處理和操作 JSON 數據。該代碼包括讀取 JSON 數據、查詢學生信息、添加新學生、更新課程信息等操作。
示例代碼
import json# 示例 JSON 數據
data = '''
{"students": [{"id": 1,"name": "Alice Johnson","age": 20,"email": "alice.johnson@example.com","major": "Computer Science","courses": [101, 102]},{"id": 2,"name": "Bob Smith","age": 21,"email": "bob.smith@example.com","major": "Mathematics","courses": [101, 103]},{"id": 3,"name": "Charlie Brown","age": 22,"email": "charlie.brown@example.com","major": "Physics","courses": [102, 104]}],"courses": [{"course_id": 101,"course_name": "Introduction to Programming","instructor": "Dr. Emily White","credits": 3},{"course_id": 102,"course_name": "Data Structures","instructor": "Dr. John Doe","credits": 3},{"course_id": 103,"course_name": "Calculus I","instructor": "Dr. Jane Smith","credits": 4},{"course_id": 104,"course_name": "General Physics","instructor": "Dr. Alan Turing","credits": 4}],"registrations": [{"student_id": 1,"course_id": 101,"semester": "Fall 2023","grade": "A"},{"student_id": 1,"course_id": 102,"semester": "Fall 2023","grade": "B"},{"student_id": 2,"course_id": 101,"semester": "Fall 2023","grade": "B+"},{"student_id": 2,"course_id": 103,"semester": "Fall 2023","grade": "A-"},{"student_id": 3,"course_id": 102,"semester": "Fall 2023","grade": "A"},{"student_id": 3,"course_id": 104,"semester": "Fall 2023","grade": "B+"}]
}
'''# 解析 JSON 數據
data_dict = json.loads(data)print(data_dict)# 打印整個 JSON 數據
print("JSON 數據:")
print(json.dumps(data_dict, indent=4))# 獲取所有學生的信息
def get_all_students():return data_dict['students']# 獲取特定學生的信息
def get_student_by_id(student_id):for student in data_dict['students']:if student['id'] == student_id:return studentreturn None# 添加新學生
def add_student(student):data_dict['students'].append(student)# 更新學生信息
def update_student(student_id, updated_info):for student in data_dict['students']:if student['id'] == student_id:student.update(updated_info)return Truereturn False# 刪除學生
def delete_student(student_id):for student in data_dict['students']:if student['id'] == student_id:data_dict['students'].remove(student)return Truereturn False# 獲取所有課程的信息
def get_all_courses():return data_dict['courses']# 獲取特定課程的信息
def get_course_by_id(course_id):for course in data_dict['courses']:if course['course_id'] == course_id:return coursereturn None# 打印所有學生的信息
print("\n所有學生的信息:")
for student in get_all_students():print(student)# 打印特定學生的信息
student_id = 1
print(f"\n學生 ID 為 {student_id} 的信息:")
print(get_student_by_id(student_id))# 添加新學生
new_student = {"id": 4,"name": "David Wilson","age": 23,"email": "david.wilson@example.com","major": "Chemistry","courses": [103, 104]
}
add_student(new_student)
print("\n添加新學生后所有學生的信息:")
for student in get_all_students():print(student)# 更新學生信息
updated_info = {"age": 24,"email": "david.wilson24@example.com"
}
update_student(4, updated_info)
print("\n更新學生信息后 ID 為 4 的學生信息:")
print(get_student_by_id(4))# 刪除學生
delete_student(4)
print("\n刪除學生后所有學生的信息:")
for student in get_all_students():print(student)# 打印所有課程的信息
print("\n所有課程的信息:")
for course in get_all_courses():print(course)# 打印特定課程的信息
course_id = 102
print(f"\n課程 ID 為 {course_id} 的課程信息:")
print(get_course_by_id(course_id))
代碼說明
- 導入和解析 JSON 數據:
- 使用
json
模塊導入 JSON 數據并解析為 Python 字典。
- 使用
- 基本操作函數:
get_all_students()
:獲取所有學生信息。get_student_by_id(student_id)
:根據學生 ID 獲取特定學生信息。add_student(student)
:添加新學生。update_student(student_id, updated_info)
:更新特定學生信息。delete_student(student_id)
:刪除特定學生。get_all_courses()
:獲取所有課程信息。get_course_by_id(course_id)
:根據課程 ID 獲取特定課程信息。
- 演示各項操作:
- 打印所有學生信息。
- 獲取并打印特定學生信息。
- 添加新學生并打印更新后的學生列表。
- 更新特定學生信息并打印更新后的學生信息。
- 刪除特定學生并打印更新后的學生列表。
- 打印所有課程信息。
- 獲取并打印特定課程信息。
通過這些代碼示例,你可以學習如何在 Python 中加載、解析和操作 JSON 數據。這些操作包括讀取、添加、更新和刪除數據,涵蓋了基本的 JSON 數據處理技能。