Walidator JSON Schema
Działa w całości w Twojej przeglądarce. Twoje pliki i dane nigdy nie opuszczają Twojego urządzenia.
O tym narzędziu
Wklej JSON Schema po jednej stronie i dokument JSON po drugiej, żeby sprawdzić dane względem schematu. Każdy błąd pokazuje dokładną ścieżkę do miejsca w dokumencie i regułę, którą złamano, niezależnie od tego, czy to brakujące pole wymagane, zły typ, czy niepoprawny format, na przykład adresu e-mail.
Co dokładnie sprawdza narzędzie i jak zgłaszane są błędy?
Narzędzie waliduje dokument względem wszystkich reguł ze schematu naraz, zamiast zatrzymywać się na pierwszym błędzie, więc od razu dostajesz pełną listę problemów. Każdy wpis podaje ścieżkę do miejsca w dokumencie w postaci JSON Pointer, na przykład /users/0/email, słowo kluczowe, które zawiodło (required, type, format i tak dalej), oraz komunikat Ajv opisujący, co poszło nie tak. Tam, gdzie to możliwe, narzędzie wskazuje też numer linii we wklejonym JSON-ie, więc można od razu przejść do problematycznej wartości zamiast liczyć nawiasy. Sprawdzanie formatów, na przykład tego, czy tekst jest poprawnym adresem e-mail, datą albo adresem URL, obsługuje pakiet ajv-formats.
Przed walidacją zarówno schemat, jak i dokument są parsowane jako JSON, a każdy błąd składni jest zgłaszany z własnym numerem linii zamiast ogólnego komunikatu o niepowodzeniu. Jeśli sam schemat jest uszkodzony w sposób, którego Ajv nie potrafi skompilować, na przykład odwołuje się do nieobsługiwanego słowa kluczowego, to również pojawia się jako osobny błąd kompilacji.
Który wariant JSON Schema jest obsługiwany?
Narzędzie odczytuje pole $schema z twojego schematu i odpowiednio dobiera walidator: schematy deklarujące Draft 2020-12 są kompilowane wersją 2020 Ajv, a wszystko inne, w tym starszy styl Draft-07, korzysta ze standardowego Ajv. Dzięki temu można wkleić dowolny z tych stylów bez ręcznego wybierania trybu. Pełną specyfikację i różnice między wersjami znajdziesz na json-schema.org.
Czy mój schemat albo dane są gdzieś wysyłane?
Nie. Walidacja odbywa się w całości w przeglądarce, przy użyciu Ajv, powszechnie używanego walidatora JSON Schema, a ani schemat, ani dokument, który wklejasz, nigdzie nie są przesyłane. Ma to znaczenie przy sprawdzaniu plików konfiguracyjnych, payloadów API albo danych testowych zawierających rzeczywiste dane użytkowników, hasła czy inne pola, których wolałbyś nie wysyłać na serwer.
Przyda się to, gdy piszesz schemat dla kontraktu API, szukasz przyczyny, dla której payload nie przechodzi walidacji w CI, albo chcesz jeszcze raz sprawdzić plik konfiguracyjny przed wdrożeniem.