Trình Xác Thực JSON Schema
Đề xuất Liên quan
Tính năng
- Xác thực chuẩn Draft-07: tuân thủ hoàn toàn đặc tả JSON Schema Draft-07, hỗ trợ xác thực quy tắc cơ bản toàn diện bao gồm kiểu, trường bắt buộc, thuộc tính, regex, định dạng và enum
- Logic kết hợp mạnh mẽ: hỗ trợ từ khóa kết hợp nâng cao như allOf, anyOf, oneOf, not — dễ dàng xử lý cấu trúc lồng nhau phức tạp và kịch bản xác thực đa ràng buộc
- Định vị lỗi chính xác: cung cấp đường dẫn lỗi chi tiết và thông báo lỗi ngữ nghĩa, giúp developer và tester nhanh chóng định vị xung đột hợp đồng API và bất thường cấu trúc dữ liệu
- Kiểm thử hợp đồng API: hoàn toàn phù hợp cho gỡ lỗi giao diện frontend-backend và kiểm thử hợp đồng tự động, đảm bảo dữ liệu phản hồi thực tế khớp chặt chẽ với schema được định nghĩa trong tài liệu API
- Xử lý local nhanh: tính toán thuần túy phía trình duyệt, không cần tải lên máy chủ, đảm bảo quyền riêng tư cấu trúc dữ liệu kinh doanh nhạy cảm và dữ liệu kiểm thử với xử lý siêu nhanh không độ trễ
Câu hỏi Thường gặp
Cách xác thực dữ liệu phản hồi API bằng JSON Schema?
Chỉ cần dán định nghĩa JSON Schema mong đợi của bạn bên trái và dữ liệu phản hồi API thực tế bên phải. Công cụ tự động so sánh cả hai cấu trúc, xác thực chính xác kiểu dữ liệu, trường bắt buộc, pattern regex và nhiều hơn nữa. Đây là bước thiết yếu cho kiểm thử hợp đồng API và đảm bảo tính nhất quán cấu trúc dữ liệu frontend-backend.
Những tiêu chuẩn JSON Schema và quy tắc xác thực nào được hỗ trợ?
Công cụ tuân thủ hoàn toàn tiêu chuẩn JSON Schema Draft-07. Hỗ trợ kiểm tra kiểu cơ bản (type), trường bắt buộc (required), định nghĩa thuộc tính (properties), khớp pattern regex (pattern), xác thực định dạng (format), giá trị enum (enum) và xác thực logic kết hợp mạnh mẽ (allOf, anyOf, oneOf, not).
Cách định vị lỗi nhanh chóng khi xác thực thất bại?
Khi dữ liệu JSON không khớp với schema, công cụ tạo báo cáo lỗi cực kỳ chi tiết. Nó chỉ chính xác đường dẫn JSON lỗi, loại lỗi cụ thể (như không khớp kiểu hoặc thiếu trường bắt buộc) và quy tắc schema tương ứng — cải thiện đáng kể hiệu quả gỡ lỗi cho phát triển backend và làm sạch dữ liệu.
Cách sử dụng JSON Schema cho quản trị dữ liệu tự động?
Trước khi làm sạch dữ liệu ETL hoặc nhập dữ liệu, bạn có thể sử dụng công cụ này để xác minh dữ liệu có tuân thủ đặc tả schema được định nghĩa trước không. Điều này chặn hiệu quả dữ liệu bẩn và bất thường, đảm bảo chất lượng dữ liệu đi vào cơ sở dữ liệu hoặc hệ thống downstream — bước quan trọng trong xây dựng pipeline dữ liệu mạnh mẽ.
Xác thực JSON Schema online có lộ dữ liệu riêng tư của tôi không?
Không. Toàn bộ xử lý JSON Schema Validator diễn ra hoàn toàn local trong trình duyệt của bạn. Dù là cấu trúc dữ liệu API doanh nghiệp hay dữ liệu kinh doanh cá nhân, không gì bao giờ được tải lên bất kỳ máy chủ nào, đảm bảo bảo vệ quyền riêng tư dữ liệu ở cấp enterprise.
Bảng Tra Cứu Nhanh Từ Khóa JSON Schema
Bảng dưới đây liệt kê các từ khóa xác thực được sử dụng phổ biến nhất trong đặc tả JSON Schema, được tổ chức theo danh mục để tham khảo nhanh.
| Từ khóa | Mô tả |
|---|---|
| Kiểu Cơ Bản | |
type | Chỉ định kiểu dữ liệu: string, number, integer, boolean, array, object, null. Hỗ trợ kiểu đơn lẻ hoặc mảng các kiểu. |
| Xác Thực Đối Tượng | |
properties | Định nghĩa các lược đồ con cho thuộc tính đối tượng. |
required | Mảng chuỗi chỉ định những thuộc tính nào là bắt buộc. |
additionalProperties | Kiểm soát liệu các thuộc tính bổ sung không được định nghĩa trong properties có được phép hay không; có thể là false hoặc một lược đồ. |
propertyNames | Lược đồ mà tên thuộc tính phải khớp (thường sử dụng pattern regex). |
minProperties | Số lượng thuộc tính tối thiểu mà một đối tượng phải chứa. |
maxProperties | Số lượng thuộc tính tối đa mà một đối tượng có thể chứa. |
| Enum & Hằng Số | |
enum | Mảng các giá trị được phép; dữ liệu phải chính xác là một giá trị từ mảng. |
const | Giá trị hằng; dữ liệu phải bằng chính xác giá trị này. |
| Ràng Buộc Số | |
minimum | Giá trị số tối thiểu (bao gồm). |
maximum | Giá trị số tối đa (bao gồm). |
exclusiveMinimum | Giá trị phải lớn hơn một cách chặt chẽ (không bao gồm). |
exclusiveMaximum | Giá trị phải nhỏ hơn một cách chặt chẽ (không bao gồm). |
multipleOf | Giá trị phải là bội số của số được chỉ định. |
| Ràng Buộc Chuỗi | |
minLength | Độ dài chuỗi tối thiểu. |
maxLength | Độ dài chuỗi tối đa. |
pattern | Biểu thức chính quy; chuỗi phải khớp với mẫu này. |
format | Xác thực định dạng ngữ nghĩa: email, uri, date-time, uuid, ipv4, ipv6, hostname, v.v. |
| Ràng Buộc Mảng | |
items | Lược đồ cho các phần tử mảng (một lược đồ duy nhất áp dụng cho tất cả phần tử). |
minItems | Số lượng phần tử mảng tối thiểu. |
maxItems | Số lượng phần tử mảng tối đa. |
uniqueItems | Liệu các phần tử mảng có phải là duy nhất hay không. |
contains | Ít nhất một phần tử mảng phải khớp với lược đồ này. |
| Logic Tổ Hợp | |
allOf | Dữ liệu phải khớp với tất cả lược đồ con (AND logic). |
anyOf | Dữ liệu phải khớp với ít nhất một lược đồ con (OR logic). |
oneOf | Dữ liệu phải khớp với chính xác một lược đồ con (XOR). |
not | Dữ liệu KHÔNG được khớp với lược đồ này (NOT logic). |
| Xác Thực Có Điều Kiện | |
if | Lược đồ điều kiện; nếu dữ liệu khớp với if, phải thỏa mãn then; ngược lại phải thỏa mãn else. |
then | Lược đồ cần thỏa mãn khi điều kiện if đúng. |
else | Lược đồ cần thỏa mãn khi điều kiện if không đúng. |
| Tham Chiếu & Tái Sử Dụng | |
$ref | Tham chiếu đến các định nghĩa lược đồ khác; hỗ trợ tham chiếu cục bộ (#/$defs/xxx) và tham chiếu từ xa. |
$defs | Định nghĩa các lược đồ con có thể tái sử dụng (Draft 2019-09+; các phiên bản cũ sử dụng definitions). |
definitions | Từ khóa cho các lược đồ con có thể tái sử dụng trong Draft 4-7. |
| Siêu Dữ Liệu | |
title | Tiêu đề lược đồ (chú thích, không được xác thực). |
description | Mô tả lược đồ (chú thích, không được xác thực). |
default | Giá trị mặc định (chú thích, không được xác thực). |
examples | Mảng các giá trị ví dụ (chú thích, không được xác thực). |
$schema | Chỉ định phiên bản đặc tả JSON Schema đang được sử dụng. |
| Phụ Thuộc | |
dependentRequired | Phụ thuộc thuộc tính: khi một thuộc tính tồn tại, các thuộc tính khác cũng phải tồn tại (Draft 2019-09+). |
dependencies | Từ khóa phụ thuộc trong Draft 4-7 bao gồm cả phụ thuộc thuộc tính và phụ thuộc lược đồ. |
So Sánh Phiên Bản JSON Schema
JSON Schema đã phát triển qua nhiều phiên bản Draft. Hiện tại Draft 7 là phiên bản được sử dụng rộng rãi nhất; Draft 2020-12 là bản phát hành ổn định mới nhất.
| Tính năng | Draft 4 | Draft 6 | Draft 7 | 2019-09 | 2020-12 |
|---|---|---|---|---|---|
| Xác thực type | ✓ | ✓ | ✓ | ✓ | ✓ |
| Trường bắt buộc | ✓ | ✓ | ✓ | ✓ | ✓ |
| enum/const | ✓ enum | ✓ | ✓ | ✓ | ✓ |
| minimum/maximum | ✓ | ✓ | ✓ | ✓ | ✓ |
| exclusiveMinimum/Maximum | boolean | number | number | number | number |
| multipleOf | ✓ | ✓ | ✓ | ✓ | ✓ |
| minLength/maxLength | ✓ | ✓ | ✓ | ✓ | ✓ |
| pattern regex | ✓ | ✓ | ✓ | ✓ | ✓ |
| Xác thực format | ✓ | ✓ | ✓ | chú thích mặc định | chú thích mặc định |
| Mảng items | ✓ | ✓ | ✓ | ✓ | ✓ |
| contains | ✗ | ✓ | ✓ | ✓ | ✓ |
| minItems/maxItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| uniqueItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| additionalProperties | ✓ | ✓ | ✓ | ✓ | ✓ |
| propertyNames | ✗ | ✓ | ✓ | ✓ | ✓ |
| allOf/anyOf/oneOf/not | ✓ | ✓ | ✓ | ✓ | ✓ |
| if/then/else | ✗ | ✗ | ✓ | ✓ | ✓ |
| Tham chiếu $ref | ✓ | ✓ | ✓ | ✓ | ✓ |
| Tái sử dụng $defs | definitions | definitions | definitions | $defs | $defs |
| dependentRequired | ✗ | ✗ | ✗ | ✓ | ✓ |
| Tuple prefixItems | dạng mảng | dạng mảng | dạng mảng | dạng mảng | prefixItems |
| unevaluatedProperties | ✗ | ✗ | ✗ | ✓ | ✓ |
| $dynamicRef/$anchor | ✗ | ✗ | ✗ | ✓ $recursiveRef | ✓ dynamicRef |
- Nén JSON
- CSV sang JSON
- JSON sang CSV
- JSON Diff
- JSON Escape / Unescape
- Làm phẳng JSON
- Trình định dạng JSON
- Trinh tao JSON
- Truy vấn JSONPath
- Gộp JSON
- Sửa JSON
- Trình Xác Thực JSON Schema
- Sắp xếp JSON
- JSON Stringify
- JSON sang HTML
- JSON sang Java
- JSON sang Markdown
- JSON sang SQL
- JSON sang TOML
- JSON sang TypeScript
- XML sang JSON
- Chuyen JSON sang XML
- YAML sang JSON
- JSON → YAML
- JSON sang Go
- JSON sang Rust
- JSON sang Swift
- JSON sang C#
- JSON sang C++
- JSON sang PHP
- JSON sang Python