Przejdź do treści
100% lokalnie

Walidator schematu JSON

Sprawdź dokument JSON względem schematu JSON i uzyskaj czytelny raport o błędach wiersz po wierszu.

Wejście
Schemat JSON
Wynik

Walidator schematu JSON

Wklej dokument JSON z jednej strony i schemat JSON z drugiej, a to narzędzie poinformuje Cię, czy dokument pasuje, a jeśli nie, to dokładnie gdzie i dlaczego. Każdy problem jest raportowany jako jedna linia ze ścieżką wskaźnika JSON do nieprawidłowej wartości, słowem kluczowym schematu, które zakończyło się niepowodzeniem, oraz rzeczywistą znalezioną tam wartością, dzięki czemu można od razu przejść do rozwiązania, zamiast ręcznie przeszukiwać duży ładunek.

Walidator obejmuje codzienny rdzeń schematu JSON draft-07: „typ” (w tym tablice unii, takie jak [„string”, „null”] dla pól dopuszczających wartość null), „wymagane” i „właściwości”, „additionalProperties” jako wartość logiczna lub własny schemat, „items” zarówno do sprawdzania poprawności list, jak i krotek, „minItems”/„maxItems”/„uniqueItems”, numeryczne słowa kluczowe „minimum”/„maksimum”/„exclusiveMinimum”/„exclusiveMaximum”/„multipleOf”, słowa kluczowe w ciągu „minLength”/„maxLength”/„pattern”, „enum” i „const” oraz kombinatory „anyOf”/„allOf”/„oneOf”/„not”. Rozwiązuje także wskaźniki „$ref” do własnej sekcji „#/definitions” lub „#/$defs” schematu — przydatne w przypadku schematów, które uwzględniają kształt obiektu współdzielonego — i wykrywa „$ref”, który zapętla się z powrotem zamiast zamrażać stronę.

To jest walidator, a nie narzędzie do tworzenia formularzy oparte na schemacie: nie pobiera schematu z adresu URL ani „$id” i nigdy tego nie zrobi, ponieważ oznaczałoby to wysłanie danych lub definicji schematu z urządzenia. Wszelkie „$ref” wskazujące poza dokumentem są zgłaszane jako nieobsługiwane, a nie dyskretnie ignorowane, więc zawsze wiesz dokładnie, co zostało sprawdzone, a co nie.

Wszystko działa lokalnie w Twojej przeglądarce — dokument JSON i schemat są analizowane i sprawdzane na Twoim urządzeniu i nigdy nigdzie nie przesyłane, co sprawia, że korzystanie z nich jest bezpieczne w przypadku ładunków API, plików konfiguracyjnych lub innych plików JSON zawierających dane, których wolisz nie wklejać do losowej witryny internetowej.

Częste pytania

Która wersja robocza schematu JSON jest obsługiwana?
Praktyczny podzbiór draft-07: typ (w tym tablice unii i tablice dopuszczające wartość null), wymagane, właściwości, dodatkowe właściwości, elementy, minItems/maxItems/uniqueItems, słowa kluczowe ograniczające liczby i ciągi znaków, enum/const, anyOf/allOf/oneOf/not i lokalne wskaźniki $ref do „#/definitions” lub „#/$defs”.
Czy może podążać za $ref do innego pliku lub adresu URL?
Nie. Rozwiązywane są tylko lokalne wskaźniki do własnych „#/definitions” lub „#/$defs” tego samego schematu. $ref wskazujący gdziekolwiek indziej jest zgłaszany jako nieobsługiwany, a nie pobrany, ponieważ pobranie zdalnego schematu oznaczałoby wysłanie danych z urządzenia.
Co się stanie, jeśli mój schemat ma okrągły $ref?
Jest wykrywany i zgłaszany jako błąd „$ref”, zamiast blokować kartę — walidator śledzi aktualnie obserwowane odniesienia i zatrzymuje się, gdy tylko jedno się powtórzy.
W jaki sposób raportowany jest każdy błąd?
Jedna linia na problem, ze ścieżką wskaźnika JSON do wartości (np. „/user/age”), słowem kluczowym schematu, które zakończyło się niepowodzeniem (np. „minimum” lub „wymagane”) i rzeczywistą wartością, która tam została znaleziona.
Czy mój dokument i schemat JSON są gdzieś przesłane?
Nie. Walidacja odbywa się całkowicie w przeglądarce przy użyciu wbudowanego parsera JSON — ani dane, ani schemat nigdy nie opuszczają Twojego urządzenia, a żaden schemat nie jest nigdy pobierany z sieci.