Skip to main content

🐍 Ngày 33 - Python hằng ngày 365 ngày - Làm việc với JSON

· 2 min read

🎯 Mục tiêu

Học cách đọc và ghi dữ liệu định dạng JSON trong Python. JSON rất phổ biến khi làm việc với API hoặc lưu trữ dữ liệu cấu trúc như danh sách, từ điển.


🧠 Kiến thức cần biết

  • JSON (JavaScript Object Notation) là định dạng văn bản dùng để lưu trữ và truyền dữ liệu.
  • Trong Python, mô-đun json giúp bạn chuyển đổi giữa kiểu dữ liệu Python (dict, list,...) và JSON.

🛠️ Các hàm chính trong mô-đun json

HàmMô tả
json.dump(obj, file)Ghi một đối tượng Python vào file JSON
json.load(file)Đọc JSON từ file và chuyển thành Python object
json.dumps(obj)Chuyển đối tượng Python thành chuỗi JSON
json.loads(str)Phân tích chuỗi JSON thành Python object

📦 Ví dụ: Lưu và đọc danh sách công việc

import json

# Danh sách công việc
tasks = [
{"task": "Học Python", "status": "pending"},
{"task": "Làm bài tập", "status": "completed"},
]

# Ghi vào file JSON
with open("tasks.json", "w", encoding="utf-8") as f:
json.dump(tasks, f, ensure_ascii=False, indent=2)

# Đọc lại file JSON
with open("tasks.json", "r", encoding="utf-8") as f:
loaded_tasks = json.load(f)

print("✅ Danh sách công việc từ file:")
for task in loaded_tasks:
print(f"- {task['task']} ({task['status']})")

Ảnh minh họa

🎥 Video hướng dẫn:

YouTube:
Xem trên YouTube

TikTok:
👉 Xem video TikTok

Xem video TikTok


🎯 Bài tập thực hành

Bài 1: Tạo file my_profile.json chứa thông tin sau:

{
"name": "Nguyễn Văn A",
"age": 25,
"email": "nguyenvana@example.com",
"skills": ["Python", "Excel", "SQL"]
}

Viết chương trình Python để:

  • Đọc file JSON này và in ra tên, tuổi, email, kỹ năng.

Bài 2: Ghi danh sách học viên vào file students.json

students = [
{"name": "An", "score": 8.5},
{"name": "Bình", "score": 7.0},
{"name": "Chi", "score": 9.2},
]
  • Lưu danh sách vào file.
  • Đọc lại và in học sinh có điểm > 8.

💡 Gợi ý

  • Dùng with open(...) để đọc/ghi file an toàn.
  • Dùng json.dumpjson.load để làm việc với file.
  • Dùng indent=2 giúp định dạng JSON đẹp mắt khi lưu.

📌 Ghi chú

  • JSON không hỗ trợ kiểu dữ liệu set hoặc tuple, hãy chuyển đổi sang list nếu cần lưu.