Kiểm tra JSON Schema

Kiểm tra dữ liệu JSON theo JSON Schema và chỉ ra từng lỗi kèm đường dẫn.

Kết quả

  • minimum$.id

    Giá trị phải ≥ 1.

  • format$.email

    Không đúng định dạng “email”.

  • minimum$.age

    Giá trị phải ≥ 18.

  • uniqueItems$.roles[2]

    Phần tử trùng với phần tử ở vị trí 0.

  • enum$.roles[1]

    Giá trị phải là một trong: "admin", "editor", "viewer".

  • additionalProperties$.nickname

    Thuộc tính “nickname” không được phép.

Nhóm Dữ liệu (Data)•Tài liệu kỹ thuật & Đặc tả RFC

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

Báo lỗi đầy đủ, có đường dẫn

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.

Hỗ trợ các từ khoá phổ biến từ draft-04 đến 2020-12

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/...`).

Tạo schema khởi đầu từ dữ liệu

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
typemọi giá trịstring, number, integer, boolean, object, array, null (hoặc mảng các kiểu)
requiredobjectDanh sách thuộc tính bắt buộc phải có
properties / additionalPropertiesobjectSchema cho từng thuộc tính; `false` cấm thuộc tính lạ
items / minItems / uniqueItemsarraySchema phần tử, số phần tử tối thiểu, cấm trùng lặp
minimum / maximum / multipleOfnumberKhoảng giá trị và bội số
minLength / pattern / formatstringĐộ dài, regex, định dạng (email, date-time, uuid…)
enum / constmọi giá trịChỉ cho phép một tập (hoặc đúng một) giá trị
oneOf / anyOf / allOf / notmọ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).

Ajv biên dịch schema thành hàm bằng `new Function`, điều mà Content-Security-Policy của Verdbench (không có `unsafe-eval`) cấm để bảo vệ bạn khỏi mã độc. Bộ kiểm tra tại đây duyệt trực tiếp schema nên an toàn và vẫn đủ cho hầu hết nhu cầu kiểm tra cấu hình, API payload.