logo
GeekFormat

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óaMô tả
Kiểu Cơ Bản
typeChỉ đị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.
requiredMảng chuỗi chỉ định những thuộc tính nào là bắt buộc.
additionalPropertiesKiể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 đồ.
propertyNamesLược đồ mà tên thuộc tính phải khớp (thường sử dụng pattern regex).
minPropertiesSố lượng thuộc tính tối thiểu mà một đối tượng phải chứa.
maxPropertiesSố lượng thuộc tính tối đa mà một đối tượng có thể chứa.
Enum & Hằng Số
enumMả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.
constGiá trị hằng; dữ liệu phải bằng chính xác giá trị này.
Ràng Buộc Số
minimumGiá trị số tối thiểu (bao gồm).
maximumGiá trị số tối đa (bao gồm).
exclusiveMinimumGiá trị phải lớn hơn một cách chặt chẽ (không bao gồm).
exclusiveMaximumGiá trị phải nhỏ hơn một cách chặt chẽ (không bao gồm).
multipleOfGiá 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.
patternBiểu thức chính quy; chuỗi phải khớp với mẫu này.
formatXá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
itemsLượ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ử).
minItemsSố lượng phần tử mảng tối thiểu.
maxItemsSố lượng phần tử mảng tối đa.
uniqueItemsLiệ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
allOfDữ liệu phải khớp với tất cả lược đồ con (AND logic).
anyOfDữ liệu phải khớp với ít nhất một lược đồ con (OR logic).
oneOfDữ liệu phải khớp với chính xác một lược đồ con (XOR).
notDữ liệu KHÔNG được khớp với lược đồ này (NOT logic).
Xác Thực Có Điều Kiện
ifLượ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.
thenLược đồ cần thỏa mãn khi điều kiện if đúng.
elseLược đồ cần thỏa mãn khi điều kiện if không đúng.
Tham Chiếu & Tái Sử Dụng
$refTham 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).
definitionsTừ khóa cho các lược đồ con có thể tái sử dụng trong Draft 4-7.
Siêu Dữ Liệu
titleTiêu đề lược đồ (chú thích, không được xác thực).
descriptionMô tả lược đồ (chú thích, không được xác thực).
defaultGiá trị mặc định (chú thích, không được xác thực).
examplesMảng các giá trị ví dụ (chú thích, không được xác thực).
$schemaChỉ định phiên bản đặc tả JSON Schema đang được sử dụng.
Phụ Thuộc
dependentRequiredPhụ 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+).
dependenciesTừ 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ăngDraft 4Draft 6Draft 72019-092020-12
Xác thực type
Trường bắt buộc
enum/const✓ enum
minimum/maximum
exclusiveMinimum/Maximumbooleannumbernumbernumbernumber
multipleOf
minLength/maxLength
pattern regex
Xác thực formatchú thích mặc địnhchú 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 $defsdefinitionsdefinitionsdefinitions$defs$defs
dependentRequired
Tuple prefixItemsdạng mảngdạng mảngdạng mảngdạng mảngprefixItems
unevaluatedProperties
$dynamicRef/$anchor✓ $recursiveRef✓ dynamicRef