Module json
Bài học 3 trên 9 trong khóa học JSON trong Python của Coddy.
Mô-đun json là thư viện có sẵn trong Python, cung cấp các hàm để làm việc với dữ liệu JSON. Mô-đun này cho phép bạn mã hóa đối tượng Python thành chuỗi JSON và giải mã chuỗi JSON thành đối tượng Python.
Nhập mô-đun json
Để dùng mô-đun JSON trong Python, trước tiên bạn cần nhập mô-đun này:
import json
Các hàm chính
Mô-đun json cung cấp bốn hàm chính:
json.dumps(): Chuyển đổi một đối tượng Python thành chuỗi JSONjson.loads(): Phân tích cú pháp chuỗi JSON và trả về một đối tượng Pythonjson.dump(): Ghi một đối tượng Python vào tệp JSONjson.load(): Đọc tệp JSON và trả về một đối tượng Python
Cách dùng cơ bản
Dưới đây là ví dụ ngắn về cách dùng json.dumps() và json.loads():
import json
# Từ điển (dictionary) Python
data = {
"name": "John",
"age": 30,
"city": "New York"
}
# Chuyển đối tượng (object) Python thành chuỗi (string) JSON
json_string = json.dumps(data)
print(json_string)
# Phân tích chuỗi JSON để tạo lại đối tượng Python
parsed_data = json.loads(json_string)
print(parsed_data)
Mô-đun này rất cần thiết khi xử lý dữ liệu JSON trong Python, dù bạn đang làm việc với API, tệp cấu hình hay trao đổi dữ liệu giữa các hệ thống khác nhau.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Thử thách
DễTạo một chương trình minh họa cách dùng cả bốn hàm chính của mô-đun json: dumps(), loads(), dump() và load().
- Tạo một từ điển Python với các cặp khóa-giá trị sau:
- "name": "Python"
- "year": 1991
- "creator": "Guido van Rossum"
- "is_oop": true
- "versions": ["2.7", "3.6", "3.7", "3.8", "3.9"]
- Dùng
json.dumps()để chuyển từ điển này thành chuỗi JSON. In kết quả ra. - Dùng
json.loads()để phân tích chuỗi JSON thành một đối tượng Python. In kiểu dữ liệu của đối tượng. - Dùng
json.dump()để ghi từ điển vào tệp có tên "python_info.json". - Dùng
json.load()để đọc nội dung của "python_info.json" vào một đối tượng Python mới. - In giá trị tương ứng với khóa "creator" trong đối tượng mới này.
Đầu vào sẽ được cung cấp như sau:
Python
1991
Guido van Rossum
true
2.7,3.6,3.7,3.8,3.9
Lưu ý: Đầu vào versions là một chuỗi gồm các giá trị phân tách bằng dấu phẩy, bạn cần chuyển chuỗi này thành danh sách trong từ điển Python.
Tự làm thử
import json
# Đọc đầu vào
name = input()
year = int(input())
creator = input()
is_oop = input().lower() == 'true'
versions = input().split(',')
# Tạo từ điển
python_info = {
"name": name,
"year": year,
"creator": creator,
"is_oop": is_oop,
"versions": versions
}
# TODO: Viết code bên dưới để hoàn thành thử thách
# 1. Dùng json.dumps() để chuyển từ điển thành chuỗi JSON
# 2. Dùng json.loads() để phân tích cú pháp chuỗi JSON thành đối tượng Python
# 3. Dùng json.dump() để ghi từ điển vào tệp "python_info.json"
# 4. Dùng json.load() để đọc nội dung tệp "python_info.json"
# 5. In ra giá trị của khóa "creator" trong đối tượng đã đọc
# In kết quả tại đây
print() # TODO: Thay dòng này bằng lệnh in đầu raTất cả bài học trong JSON trong Python
Tự luyện tập: Trình biên dịch Python online