Kiểm tra xem json sau hợp lệ hay không hợp lệ trong Python
Trong bài viết này, mình sẽ cùng nhau tìm hiểu cách kiểm tra tính hợp lệ của một định dạng JSON và cách sửa chữa nếu nó không hợp lệ. Ta sẽ sử dụng bài tập thực tế để minh họa: kiểm tra và sửa một định dạng JSON không hợp lệ thành một JSON hợp lệ.
Đề bài:
{ "công ty":{ "người lao động":{ "tên:"emma", "phải trả":{ "lương":7000 "tiền thưởng":800 } } } }
Bước 1: Import thư viện json
Đầu tiên, mình cần import thư viện json để làm việc với JSON trong Python.
import json
Bước 2: Kiểm tra tính hợp lệ của JSON
Mình sử dụng hàm json.loads()
để cố gắng chuyển đổi dữ liệu từ chuỗi JSON thành một đối tượng Python. Nếu dữ liệu JSON không hợp lệ, hàm này sẽ ném ra một ngoại lệ json.JSONDecodeError.
Mình có thể bắt ngoại lệ này để xác định tính hợp lệ của JSON.
json_data = '''{ "công ty":{ "người lao động":{ "tên:"emma", "phải trả":{ "lương":7000 "tiền thưởng":800 } } } }''' try: json_object = json.loads(json_data) print("JSON hợp lệ") except json.JSONDecodeError as e: print("JSON không hợp lệ:", e)
Bước 3: Sửa chữa JSON không hợp lệ
Trong ví dụ này, JSON không hợp lệ do thiếu dấu ngoặc kép ở trường "tên". Mình sẽ sửa nó để biến nó thành JSON hợp lệ.
# Sửa chữa JSON không hợp lệ json_data_fixed = '''{ "công ty":{ "người lao động":{ "tên":"emma", "phải trả":{ "lương":7000, "tiền thưởng":800 } } } }''' # Chuyển đổi JSON hợp lệ thành đối tượng Python json_object_fixed = json.loads(json_data_fixed) # In ra dữ liệu đã sửa chữa print(json_object_fixed)
Kết quả
Khi bạn chạy chương trình, nếu JSON là hợp lệ, bạn sẽ nhận được thông báo "JSON hợp lệ" và sau đó in ra đối tượng Python tương ứng. Nếu JSON không hợp lệ, bạn sẽ nhận được thông báo lỗi cụ thể về sai sót trong JSON.
Nếu bạn muốn sửa chữa JSON không hợp lệ, bạn chỉ cần chỉnh sửa chuỗi JSON như đã minh họa trong ví dụ trên.
Trong bài viết này, mình đã thực hiện kiểm tra tính hợp lệ của một định dạng JSON và cách sửa chữa nếu nó không hợp lệ. Điều này rất hữu ích khi bạn làm việc với dữ liệu JSON từ nguồn bên ngoài và cần đảm bảo tính toàn vẹn của dữ liệu. Chúc các bạn thành công và tiếp tục tìm hiểu về JSON và Python!
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Chuyển đổi dictionary sau sang định dạng JSON trong Python
- Truy cập giá trị của key2 từ JSON sau trong Python
- PrettyPrint theo dữ liệu JSON trong Python
- Sắp xếp các khóa JSON và ghi chúng vào một file trong Python
- Truy cập khóa 'salary' lồng nhau từ JSON sau bằng Python
- Chuyển đổi đối tượng Vehicle sau thành JSON trong Python
- Chuyển đổi JSON sau thành Vehicle Object trong Python
- Kiểm tra xem json sau hợp lệ hay không hợp lệ trong Python