Cách dùng Kiểm tra JSON Schema
- Dán JSON Schema ở bên trái và JSON cần kiểm tra ở bên phải (YAML cũng được).
- Draft được nhận diện từ
$schema, hoặc bạn có thể chọn thủ công. - Đọc danh sách lỗi: vị trí trong JSON, vấn đề gặp phải và quy tắc schema không đạt.
- Chưa có schema? Dán dữ liệu mẫu rồi nhấn Tạo schema từ dữ liệu.
JSON Schema là gì?
JSON Schema là bộ từ vựng dùng để mô tả cấu trúc dữ liệu JSON: những thuộc tính nào tồn tại, kiểu dữ liệu của chúng, thuộc tính nào bắt buộc, giá trị cho phép, định dạng chuỗi, khoảng giá trị số và độ dài mảng. Công cụ này được dùng để kiểm tra request và response của API, file cấu hình, dữ liệu biểu mẫu và pipeline dữ liệu, và là nền tảng cho định nghĩa request/response trong OpenAPI.
Cách đọc lỗi
| Cột | Ý nghĩa |
|---|---|
| Vị trí | JSON Pointer trỏ tới giá trị lỗi, ví dụ /items/0/qty = trường qty của phần tử đầu tiên |
| Vấn đề | Lỗi cụ thể: sai kiểu, thiếu thuộc tính bắt buộc, giá trị không được phép, thuộc tính không mong đợi… |
| Quy tắc schema | Đường dẫn tới từ khóa trong schema đã từ chối giá trị, ví dụ #/properties/items/items/properties/qty/minimum |
Các draft
JSON Schema có nhiều phiên bản. Draft 2020-12 là bản mới nhất (OpenAPI 3.1 dùng bản này); draft-07 vẫn là bản được hỗ trợ rộng rãi nhất trong thư viện và trình soạn thảo; draft-04 xuất hiện trong các đặc tả cũ như Swagger 2.0 và OpenAPI 3.0. Công cụ đọc $schema để chọn đúng bộ quy tắc. Những khác biệt hay gây nhầm lẫn: draft-04 dùng id thay cho $id và exclusiveMinimum kiểu boolean; 2019-09 thay definitions bằng $defs và thêm unevaluatedProperties.
Lỗi thường gặp
- Quên
"additionalProperties": false— nếu thiếu, các thuộc tính lạ vẫn được chấp nhận. - Đặt
requiredbên trong một thuộc tính thay vì ở đối tượng cha. - Kỳ vọng
formatđược kiểm tra ở mọi nơi — nhiều bộ kiểm tra chỉ ghi chú định dạng trừ khi được yêu cầu kiểm tra. - Dùng
"type": "integer"cho các giá trị như1.0, vì một số ngôn ngữ gửi lên dưới dạng số thập phân.
Schema được tạo tự động chỉ là điểm xuất phát: hãy siết chặt bằng pattern, enum và giới hạn. Khám phá tài liệu lớn trong trình xem JSON hoặc tạo kiểu TypeScript với JSON sang TypeScript. Đang kiểm tra đặc tả API? Hãy dùng công cụ kiểm tra OpenAPI.
Cũng được tìm dưới tên: validate json schema, json schema online, ajv online, tạo json schema, json schema draft 2020-12, chuyển json sang schema.
Các công cụ dùng kèm tốt với Kiểm tra JSON Schema
- JSON sang JSON Schema — Dán một hoặc nhiều ví dụ JSON để nhận một JSON Schema mô tả chúng: đối tượng lồng nhau, mảng đối tượng được gộp thành một schema phần tử, các trường bắt buộc (khóa có mặt trong mọi ví dụ), định dạng được nhận diện như email, date-time, URI và UUID, enum tùy chọn, và đầu ra theo 2020-12 hoặc draft-07.
- Định dạng JSON — Dán JSON để định dạng đẹp, nén hoặc kiểm tra.
- Kiểm tra YAML — Dán file Docker Compose, manifest Kubernetes, workflow GitHub Actions hoặc bất kỳ YAML nào để xác định chính xác lỗi, phát hiện các lỗi thường gặp và nhận bản đã định dạng gọn gàng.
- Kiểm Thử JSONPath — Nhập truy vấn JSONPath và xem ngay nó chọn ra những gì, kèm đường dẫn chính xác của từng kết quả.
Câu hỏi thường gặp
Công cụ này dùng bộ kiểm tra JSON Schema nào?
Tôi có thể tạo JSON Schema từ JSON không?
Có hỗ trợ $ref tới file khác không?
#/$defs/...) hoạt động bình thường. Công cụ không tải các URL bên ngoài; hãy đưa những định nghĩa đó vào trực tiếp schema trước.