Trình kiểm tra JSON Schema

Kiểm tra dữ liệu JSON theo JSON Schema (draft 2020-12, 2019-09 hoặc 07) bằng Ajv, có kiểm tra format. Mỗi lỗi hiển thị đường dẫn tới giá trị. Chạy trong trình duyệt.

Chạy hoàn toàn trong trình duyệt. Dữ liệu của bạn không bao giờ bị tải lên.

Công cụ Liên quan

Xem Tất cả

Kiểm tra JSON Schema là gì?

Trình kiểm tra JSON Schema đối chiếu dữ liệu JSON với một JSON Schema và liệt kê mọi vi phạm – thiếu thuộc tính bắt buộc, sai kiểu, số vượt phạm vi, format không hợp lệ, thuộc tính thừa – mỗi lỗi kèm JSON Pointer của giá trị vi phạm. Hỗ trợ các draft 2020-12, 2019-09 và 07.

Cách sử dụng Kiểm tra JSON Schema

  1. Dán dữ liệu vào Dữ liệu JSON và schema vào Lược đồ JSON (Schema) (hoặc bấm Tải ví dụ ở mỗi ô).
  2. Để Phiên bản schema ở chế độ tự nhận diện, hoặc chọn một draft.
  3. Đọc kết quả: thông báo thành công, hoặc danh sách lỗi kèm đường dẫn tới giá trị.
  4. Sửa dữ liệu (hoặc schema) và kết quả tự động cập nhật.

Ví dụ

Đầu vào
Data: {"age":-1,"email":"x"}
Schema: {"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["name"],"properties":{"age":{"type":"integer","minimum":0},"email":{"type":"string","format":"email"}}}
Đầu ra
Validation errors: 3 (draft 2020-12)
(root) Missing required property "name"
/age Must be ≥ 0
/email Must be a valid "email"

Khi nào nên dùng Kiểm tra JSON Schema

Dùng để kiểm thử payload API, file cấu hình hoặc schema bạn đang viết. Schema draft-04 và cũ hơn không được hỗ trợ (Ajv 8 đã bỏ chúng). URL $ref từ xa không được tải về; schema phải tự chứa đầy đủ ($ref cục bộ tới #/$defs/... vẫn hoạt động).

Kiểm tra JSON Schema hoạt động như thế nào

Việc kiểm tra dùng Ajv 8, một thư viện JSON Schema được dùng rộng rãi, với allErrors được bật để báo mọi vi phạm, cùng ajv-formats cho các từ khóa format như email, date-time, uri và uuid. Draft được nhận diện từ URL $schema của schema (2020-12, 2019-09, còn lại là draft-07) hoặc được chọn thủ công. Chế độ strict bị tắt, nên từ khóa lạ như example được bỏ qua thay vì bị từ chối. Các loại lỗi phổ biến được hiển thị với thông báo đã dịch; các loại khác dùng thông báo của Ajv.

Các Trường Hợp Sử Dụng Phổ Biến

  • Kiểm tra phần thân request API theo schema sinh từ OpenAPI
  • Gỡ lỗi vì sao file cấu hình bị từ chối
  • Phát triển và kiểm thử một JSON Schema mới
  • Kiểm tra dữ liệu fixture kiểm thử

Lưu Ý Bảo Mật

Mọi thứ chạy cục bộ trong trình duyệt của bạn; đoạn mã bạn dán vào không được tải lên đâu cả.

Câu Hỏi Thường Gặp

Hỗ trợ những draft nào?

2020-12, 2019-09 và draft-07 (schema draft-06 thường chạy được như draft-07). Không hỗ trợ draft-04.

Các format như email có được kiểm tra không?

Có, thông qua ajv-formats.

Có tải được schema $ref từ xa không?

Không, chỉ các tham chiếu bên trong cùng một schema.

Vì sao công cụ hiển thị nhiều lỗi cùng lúc?

Mọi lỗi đều được thu thập để bạn sửa tất cả trong một lần.

Bước tiếp theo nên làm

Khám phá thêm danh mục