Tài liệu & Hướng dẫn chuyên sâu: Kiểm tra JSON Schema (JSON Schema Validator)
1. Tổng quan & Nguyên lý hoạt động
JSON Schema là cách mô tả "hình dạng" hợp lệ của một tài liệu JSON: trường nào bắt buộc, kiểu gì, giá trị nằm trong khoảng nào. Công cụ này đối chiếu dữ liệu của bạn với schema và liệt kê từng lỗi kèm đường dẫn chính xác (ví dụ `$.users[2].email`) và lời giải thích dễ hiểu, thay vì chỉ trả về "không hợp lệ". Bộ kiểm tra được viết riêng, chạy hoàn toàn trong trình duyệt và không cần `eval` nên tương thích với Content-Security-Policy nghiêm ngặt; schema và dữ liệu của bạn không rời khỏi máy.
2. Ưu thế kiến trúc & Tính năng nổi bật
Mọi vi phạm được liệt kê cùng từ khoá gây lỗi (`type`, `required`, `minimum`…) và đường dẫn kiểu JSONPath. Lỗi trong chính schema (như `$ref` không tồn tại hay regex sai) cũng được chỉ ra.
type, enum, const, properties, patternProperties, additionalProperties, required, items/prefixItems, contains, uniqueItems, min/max (độ dài, số, phần tử, thuộc tính), pattern, format, multipleOf, allOf/anyOf/oneOf/not, if/then/else, dependentRequired và `$ref` nội bộ (`#/definitions/...`, `#/$defs/...`).
Nút "Tạo schema từ dữ liệu" suy ra kiểu, danh sách trường bắt buộc và hình dạng phần tử mảng từ JSON mẫu để bạn tinh chỉnh tiếp. Có thể thả tệp .json vào ô nhập và tải báo cáo kết quả về dạng JSON.
3. Từ khoá JSON Schema thường dùng
Những từ khoá bạn sẽ gặp nhiều nhất khi mô tả dữ liệu:
| Từ khoá | Áp dụng cho | Ý nghĩa |
|---|---|---|
| type | mọi giá trị | string, number, integer, boolean, object, array, null (hoặc mảng các kiểu) |
| required | object | Danh sách thuộc tính bắt buộc phải có |
| properties / additionalProperties | object | Schema cho từng thuộc tính; `false` cấm thuộc tính lạ |
| items / minItems / uniqueItems | array | Schema phần tử, số phần tử tối thiểu, cấm trùng lặp |
| minimum / maximum / multipleOf | number | Khoảng giá trị và bội số |
| minLength / pattern / format | string | Độ dài, regex, định dạng (email, date-time, uuid…) |
| enum / const | mọi giá trị | Chỉ cho phép một tập (hoặc đúng một) giá trị |
| oneOf / anyOf / allOf / not | mọi giá trị | Kết hợp nhiều schema con |
4. Câu hỏi thường gặp (FAQ)
Giải đáp các thắc mắc phổ biến của lập trình viên khi sử dụng tiện ích Kiểm tra JSON Schema (JSON Schema Validator).
5. Công cụ liên quan
- Kiểm tra JSONPhân tích, kiểm tra và khám phá JSON thô dưới dạng cây thu gọn, tô màu theo kiểu dữ liệu.
- JSON sang Schema ValidationTự động sinh schema Zod & Yup từ JSON với suy luận thông minh email, URL, UUID, datetime.
- So sánh JSON theo cấu trúcSo sánh hai JSON theo khóa và giá trị, bỏ qua thứ tự khóa và định dạng, liệt kê chính xác đường dẫn thêm/xóa/sửa.