JSON
JSON Schema Validator
Sprawdzanie zgodności danych JSON z JSON Schema (styl draft-07) — z dokładną ścieżką i wyjaśnieniem dla każdego naruszenia.
JSON Schema describes the expected structure of a JSON document — which fields are required, what type they are, and what constraints apply to their values. This tool checks actual data against a schema and shows the exact path to every violation.
How to use it
- Paste a JSON Schema into one field and the data to validate into the other.
- The result lists each violation separately: the exact path to the problem field and a plain-language explanation of why it doesn't match the schema.
- Valid data is immediately flagged as fully compliant with the schema.
Common uses
- Checking a third-party API response against its documented schema before integrating with it.
- Debugging your own JSON Schema — figuring out why seemingly valid data gets rejected.
- Validating a configuration file against a schema before deploying.
Things to keep in mind
JSON Schema has several versions (draft-07, 2019-09, 2020-12) with small syntax differences — check which version your production validator actually expects.
required only checks that a field is present, not its value — an empty string or null still counts as "present" if the type allows it.
Artykuł o tym narzędziu: JSON Schema: jak opisać i sprawdzić strukturę JSON
Najczęstsze pytania
Co właściwie sprawdza walidacja względem JSON Schema?
Sprawdza, czy Twoje dane JSON pasują do reguł zdefiniowanych w schemacie — wymagane pola, typy danych, zakresy wartości, wzorce ciągów znaków i więcej — a nie tylko to, czy sam JSON jest poprawny składniowo.
Który szkic JSON Schema obsługuje to narzędzie?
To narzędzie waliduje względem draft-07, jednej z najszerzej przyjętych wersji — schematy napisane dla innych szkiców mogą używać słów kluczowych nierozpoznawanych tutaj.
Czy mój schemat lub dane są gdzieś wysyłane do walidacji?
Nie. Walidacja odbywa się całkowicie w Twojej przeglądarce za pomocą biblioteki JavaScript — nic nie jest wysyłane na serwer.
Co robi additionalProperties: false?
Domyślnie obiekt może zawierać dowolne pola ponad te opisane w properties. additionalProperties: false zabrania dodatkowych pól — przydaje się, by wychwycić literówkę w nazwie klucza czy przypadkowo pozostawione pole debug.
Czy można opisać pole dopuszczające kilka typów?
Tak, przez tablicę w type, np. "type": ["string", "null"], jeśli pole może być ciągiem znaków lub null. Dla bardziej złożonych przypadków używa się słów kluczowych oneOf, anyOf lub allOf.