Trong quá trình làm việc với học sâu, việc đọc và ghi tệp JSON là điều không thể thiếu vì nhiều bộ dữ liệu công khai có nhãn ở định dạng này. Hiểu rõ cách thức hoạt động cơ bản của JSON sẽ giúp bạn dễ dàng xử lý các yêu cầu liên quan.
JSON là gì? JSON (JavaScript Object Notation) là một định dạng trao đổi dữ liệu nhẹ. Nó dựa trên một tập con của ECMAScript và sử dụng văn bản độc lập với ngôn ngữ lập trình để lưu trữ và biểu diễn dữ liệu. JSON dễ đọc và viết cho cả con người lẫn máy móc, đồng thời tăng hiệu quả truyền tải qua mạng.
Các phép so sánh giữa kiểu dữ liệu Python và JSON
PythonJSON
dictobject list, tuplearray strstring int, floatnumber Truetrue Falsefalse Nonenull
Các thao tác cơ bản
- Nhập thư viện json
import json
- Chuyển đổi đối tượng Python thành chuỗi JSON:
json.dumps()Hàm này mã hóa đối tượng Python thành một chuỗi JSON.
import json
data = {"ho": "Nguyễn", "ten": "Văn A", "tuoi": 30}
chuoi_json = json.dumps(data, ensure_ascii=False, indent=4)
print(chuoi_json)
Kết quả:
{
"ho": "Nguyễn",
"ten": "Văn A",
"tuoi": 30
}
- Ghi đối tượng Python vào tệp JSON:
json.dump()Hàm này tương tự nhưdumps, nhưng nó ghi trực tiếp vào tệp.
thong_tin = {"ho": "Lê", "ten": "Thị B", "tuoi": 25}
ten_tep = 'du_lieu.json'
with open(ten_tep, 'w', encoding='utf-8') as tep:
json.dump(thong_tin, tep, ensure_ascii=False, indent=4)
- Chuyển đổi chuỗi JSON thành đối tượng Python:
json.loads()Hàm này giải mã chuỗi JSON thành đối tượng Python.
chuoi_json = '{"ho": "Trần", "ten": "Công C", "tuoi": 35}'
du_lieu = json.loads(chuoi_json)
print(du_lieu)
Kết quả:
{'ho': 'Trần', 'ten': 'Công C', 'tuoi': 35}
- Đọc nội dung từ tệp JSON và chuyển đổi thành đối tượng Python:
json.load()
ten_tep = 'du_lieu.json'
with open(ten_tep, 'r', encoding='utf-8') as tep:
du_lieu = json.load(tep)
print(du_lieu)
Sự khác biệt giữa các hàm
| Hàm | Mô tả |
|---|---|
json.dumps() |
Chuyển đổi đối tượng Python thành chuỗi JSON trong bộ nhớ. |
json.dump() |
Chuyển đổi đối tượng Python thành chuỗi JSON và ghi vào tệp. |
json.loads() |
Chuyển đổi chuỗi JSON trong bộ nhớ thành đối tượng Python. |
json.load() |
Đọc nội dung từ tệp JSON và chuyển đổi thành đối tượng Python. |
Lời khuyên
Luôn sử dụng tham số indent khi chuyển đổi để tạo ra JSON có định dạng dễ đọc, đặc biệt hữu ích khi làm việc với các thuật toán học sâu.