Cách kiểm tra JSON
- Dán JSON hoặc mở file. Việc kiểm tra chạy tự động trong lúc bạn gõ.
- Thông báo màu xanh “JSON hợp lệ” kèm thống kê nghĩa là tài liệu đúng chuẩn. Nếu không, hãy đọc thông báo lỗi: nó chỉ rõ dòng, cột và những gì cần có ở vị trí đó.
- Sửa dòng được tô sáng hoặc nhấn Sửa lỗi, rồi nhấn Định dạng để kết quả dễ đọc hơn.
Các lỗi JSON thường gặp và cách sửa
| Lỗi | Ví dụ | Cách sửa |
|---|---|---|
| Dấu phẩy thừa ở cuối | [1, 2, ] | Xóa dấu phẩy trước ] hoặc } |
| Dấu nháy đơn | {'name': 'Ada'} | Dùng dấu nháy kép: {"name": "Ada"} |
| Khóa thiếu dấu nháy | {name: "Ada"} | Đặt khóa trong dấu nháy kép: {"name": "Ada"} |
| Thiếu dấu phẩy | {"a": 1 "b": 2} | Thêm dấu phẩy giữa các thuộc tính |
| Chú thích | // settings | JSON không có chú thích – hãy xóa chúng |
| Xuống dòng trong chuỗi | "line 1⏎line 2" | Viết \n thay cho ký tự xuống dòng thật |
| Giá trị không hợp lệ | undefined, NaN, True | Dùng null, một số, true hoặc false |
| Số 0 ở đầu | {"zip": 01234} | Viết 1234, hoặc giữ dạng văn bản: "01234" |
| Thiếu dấu ngoặc | {"a": [1, 2} | Đóng mỗi [ bằng ] và mỗi { bằng } |
Thế nào là JSON hợp lệ
JSON được định nghĩa trong RFC 8259. Một tài liệu hợp lệ phải tuân theo vài quy tắc nghiêm ngặt:
- Chứa đúng một giá trị ở cấp cao nhất, thường là một đối tượng
{}hoặc một mảng[]. - Thành phần của đối tượng là các cặp
"key": valuephân tách bằng dấu phẩy; khóa luôn là chuỗi trong dấu nháy kép. - Chuỗi dùng dấu nháy kép; bên trong chỉ cho phép các escape
\" \\ \/ \b \f \n \r \tvà\uXXXX. - Số ở hệ thập phân: không có số 0 ở đầu, không có dấu
+, không dùng hệ thập lục phân, không cóNaNhayInfinity. true,falsevànullđược viết chữ thường.- Dấu cách, tab và xuống dòng được phép xuất hiện giữa các token, nhưng chú thích thì không.
Kiểm tra JSON trên dòng lệnh
- Python:
python -m json.tool file.jsonin ra dòng và cột của lỗi đầu tiên. - jq:
jq empty file.jsonthoát kèm thông báo lỗi nếu file không hợp lệ. - Node.js:
node -e "JSON.parse(require('fs').readFileSync('file.json', 'utf8'))"
Câu hỏi thường gặp
JSON validator và JSON linter khác nhau thế nào?
Validator kiểm tra xem văn bản có tuân theo cú pháp JSON hay không. Linter thường còn áp đặt một phong cách viết nhất quán. Công cụ kiểm tra JSON này xác thực nghiêm ngặt theo RFC 8259 và, với nút Định dạng, còn giúp bạn có thụt lề nhất quán.
Có kiểm tra JSON theo JSON Schema được không?
Trang này kiểm tra cú pháp. Để mô tả cấu trúc mong muốn của dữ liệu, hãy tạo schema từ một tài liệu mẫu bằng công cụ tạo JSON Schema của chúng tôi.
Tại sao JSON hợp lệ ở đây nhưng lại bị chương trình khác từ chối?
Các chương trình thường yêu cầu một cấu trúc cụ thể (một số khóa hoặc kiểu nhất định), một bảng mã cụ thể như UTF-8 không có BOM, hoặc số nằm trong một phạm vi giới hạn. JSON đúng cú pháp vẫn có thể vi phạm những quy tắc riêng như vậy của ứng dụng.
JSON có chú thích (JSONC) có hợp lệ không?
Không. JSON chuẩn không cho phép chú thích. Một số trình soạn thảo chấp nhận chú thích trong file cài đặt (JSONC), nhưng API và JSON.parse thì không. Sửa lỗi sẽ tự xóa chú thích giúp bạn.