آموزش استفاده و ایجاد فایل JSON در پایتون

JSON (JavaScript Object Notation) یک فرمت سبک و قابل خواندن برای ذخیرهسازی و تبادل دادهها بین سیستمها است. این فرمت به طور گسترده در برنامهنویسی وب و نرمافزارهای مختلف استفاده میشود، زیرا ساختار آن ساده و شبیه به دیکشنریهای پایتون است.
در این مقاله، ابتدا نحوه استفاده از فایلهای JSON در پایتون را آموزش میدهیم، سپس به یک پروژه عملی میپردازیم که در آن از JSON برای مدیریت دادهها استفاده میکنیم.
سرفصلها
- معرفی JSON و کاربردهای آن
- خواندن و نوشتن فایل JSON در پایتون
- پروژه کاربردی: مدیریت اطلاعات دانشجویان با JSON
- شرح پروژه
- روش حل
- سورس کد
- توضیح توابع
1. معرفی JSON و کاربردهای آن
JSON چیست؟
JSON یک فرمت متنی است که برای ذخیرهسازی و انتقال دادهها استفاده میشود. این فرمت به صورت جفتهای کلید-مقدار (Key-Value) دادهها را ذخیره میکند و شباهت زیادی به دیکشنریهای پایتون دارد.
کاربردهای JSON
- انتقال دادهها بین سرور و کلاینت در برنامههای وب
- ذخیرهسازی تنظیمات و پیکربندیهای نرمافزار
- مدیریت دادههای ساختارمند در پایگاه دادههای NoSQL
2. خواندن و نوشتن فایل JSON در پایتون
پایتون از طریق ماژول json
امکان کار با فایلهای JSON را فراهم میکند. این ماژول شامل توابعی برای تبدیل دادهها به JSON و برعکس است.
خواندن فایل JSON
برای خواندن دادهها از یک فایل JSON، از تابع ()
json.load
استفاده میکنیم.
مثال:
import json
# خواندن فایل JSON
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
نوشتن فایل JSON
برای ذخیره دادهها در یک فایل JSON، از تابع ()
json.dump
استفاده میکنیم.
مثال:
import json
# دادههایی که میخواهیم ذخیره کنیم
data = {
"name": "Ali",
"age": 25,
"city": "Tehran"
}
# نوشتن دادهها در فایل JSON
with open('data.json', 'w') as file:
json.dump(data, file, indent=4)
توضیحات:
()json.load
: دادههای JSON را از یک فایل خوانده و به یک دیکشنری پایتون تبدیل میکند.()json.dump
: دادههای پایتون را به فرمت JSON تبدیل کرده و در یک فایل ذخیره میکند.indent=4
: برای فرمتبندی خواناتر فایل JSON استفاده میشود.
3. پروژه کاربردی: مدیریت اطلاعات دانشجویان با JSON
شرح پروژه
هدف این پروژه، ایجاد یک سیستم ساده برای مدیریت اطلاعات دانشجویان است. این سیستم باید قادر به انجام عملیات زیر باشد:
- افزودن اطلاعات یک دانشجو (نام، شماره دانشجویی، معدل).
- نمایش اطلاعات تمام دانشجویان.
- ذخیرهسازی اطلاعات در یک فایل JSON.
- بارگذاری اطلاعات از فایل JSON.
روش حل
- از یک لیست برای ذخیره اطلاعات دانشجویان استفاده میکنیم.
- اطلاعات هر دانشجو را به صورت یک دیکشنری ذخیره میکنیم.
- برای ذخیرهسازی و بارگذاری اطلاعات، از فایل JSON استفاده میکنیم.
- از توابع جداگانه برای هر عملیات (افزودن، نمایش، ذخیره و بارگذاری) استفاده میکنیم.
سورس کد
import json
import os
# تابع برای بارگذاری اطلاعات از فایل JSON
def load_students():
if os.path.exists('students.json'):
with open('students.json', 'r') as file:
return json.load(file)
return []
# تابع برای ذخیره اطلاعات در فایل JSON
def save_students(students):
with open('students.json', 'w') as file:
json.dump(students, file, indent=4)
# تابع برای افزودن دانشجو
def add_student(students):
name = input("Enter student's name: ")
student_id = input("Enter student's ID: ")
gpa = float(input("Enter student's GPA: "))
student = {
"name": name,
"id": student_id,
"gpa": gpa
}
students.append(student)
print("Student added successfully!")
# تابع برای نمایش اطلاعات دانشجویان
def show_students(students):
if not students:
print("No students found.")
return
for idx, student in enumerate(students, start=1):
print(f"{idx}. Name: {student['name']}, ID: {student['id']}, GPA: {student['gpa']}")
# تابع اصلی
def main():
students = load_students()
while True:
print("\nStudent Management System")
print("1. Add Student")
print("2. Show Students")
print("3. Save and Exit")
choice = input("Enter your choice: ")
if choice == '1':
add_student(students)
elif choice == '2':
show_students(students)
elif choice == '3':
save_students(students)
print("Data saved. Exiting...")
break
else:
print("Invalid choice. Please try again.")
if __name__ == "__main__":
main()
توضیح توابع
()load_students
- این تابع بررسی میکند که آیا فایل
students.json
وجود دارد یا خیر. - اگر فایل وجود داشته باشد، دادههای آن را میخواند و به یک لیست تبدیل میکند.
- اگر فایل وجود نداشته باشد، یک لیست خالی برمیگرداند.
- این تابع بررسی میکند که آیا فایل
save_students(students)
- این تابع دادههای موجود در لیست
students
را به فرمت JSON در فایلstudents.json
ذخیره میکند.
- این تابع دادههای موجود در لیست
add_student(students)
- این تابع اطلاعات یک دانشجو (نام، شماره دانشجویی و معدل) را از کاربر دریافت کرده و به لیست
students
اضافه میکند.
- این تابع اطلاعات یک دانشجو (نام، شماره دانشجویی و معدل) را از کاربر دریافت کرده و به لیست
show_students(students)
- این تابع اطلاعات تمام دانشجویان موجود در لیست
students
را نمایش میدهد.
- این تابع اطلاعات تمام دانشجویان موجود در لیست
()main
- این تابع منوی اصلی برنامه را اجرا میکند و به کاربر اجازه میدهد عملیات مختلف را انجام دهد.
نتیجهگیری
در این مقاله، نحوه استفاده از فایلهای JSON در پایتون را آموختیم و یک پروژه عملی برای مدیریت اطلاعات دانشجویان پیادهسازی کردیم. این پروژه نشان داد که چگونه میتوان از JSON برای ذخیرهسازی و مدیریت دادهها استفاده کرد.
دیدگاهتان را بنویسید