logo
GeekFormat

Walidator JSON Schema

Powiązane Rekomendacje

Funkcje

  • Walidacja standardu Draft-07: w pełni przestrzega specyfikacji JSON Schema Draft-07, obsługując kompleksową walidację typów, wymaganych pól, właściwości, regex, formatów i enum
  • Zaawansowana logika kombinacji: obsługuje słowa kombinacji allOf, anyOf, oneOf, not — łatwo radząc sobie ze złożonymi zagnieżdżonymi strukturami i scenariuszami walidacji wieloograniczeniowej
  • Precyzyjna lokalizacja błędów: dostarcza szczegółowe ścieżki błędów i semantyczne komunikaty, pomagając developerom szybko zlokalizować konflikty kontraktów API i anomalie struktur danych
  • Testowanie kontraktów API: idealne do debugowania interfejsów frontend-backend i automatycznego testowania kontraktów, zapewniając że dane odpowiedzi ściśle pasują do schema zdefiniowanego w dokumentacji API
  • Lokalne szybkie przetwarzanie: czyste przetwarzanie po stronie przeglądarki, bez potrzeby przesyłania na serwer, zapewniając prywatność wrażliwych danych biznesowych z ultraszybkim przetwarzaniem

Często Zadawane Pytania

Jak walidować dane odpowiedzi API za pomocą JSON Schema?

Wklej definicję JSON Schema po lewej stronie, a dane odpowiedzi API po prawej. Narzędzie automatycznie porówna obie struktury, walidując typy danych, wymagane pola, wzorce regex i więcej. Niezbędny krok do testowania kontraktów API i zapewnienia spójności struktur danych frontend-backend.

Jakie standardy JSON Schema i reguły walidacji są obsługiwane?

Narzędzie w pełni przestrzega standardu JSON Schema Draft-07. Obsługuje sprawdzanie typów (type), wymagane pola (required), definicje właściwości (properties), dopasowanie wzorców regex (pattern), walidację formatu (format), wartości enum oraz zaawansowaną walidację logiki kombinacji (allOf, anyOf, oneOf, not).

Jak szybko zlokalizować błędy gdy walidacja się nie powiedzie?

Gdy dane JSON nie pasują do schema, narzędzie generuje szczegółowy raport błędów. Precyzyjnie wskazuje ścieżkę JSON z błędem, konkretny typ błędu (np. niezgodność typu lub brakujące pole) oraz odpowiadającą regułę schema — znacznie poprawiając efektywność debugowania.

Jak używać JSON Schema do automatycznego zarządzania danymi?

Przed czyszczeniem danych ETL lub ingestią danych użyj tego narzędzia do weryfikacji czy dane są zgodne z predefiniowanymi specyfikacjami schema. Skutecznie przechwytuje brudne dane i anomalie, zapewniając jakość danych wchodzących do baz danych lub systemów downstream.

Czy online walidacja JSON Schema narazi moje prywatne dane?

Nie. Całe przetwarzanie odbywa się lokalnie w Twojej przeglądarce. Niezależnie czy to struktury danych API przedsiębiorstwa czy osobiste dane biznesowe, nic nigdy nie jest przesyłane na żaden serwer, zapewniając pełną ochronę prywatności danych.

Ściąga Słów Kluczowych JSON Schema

Poniższa tabela zawiera najczęściej używane słowa kluczowe walidacji w specyfikacji JSON Schema, pogrupowane według kategorii dla szybkiego odniesienia.

Słowo kluczoweOpis
Podstawowe Typy
typeOkreśl typ danych: string, number, integer, boolean, array, object, null. Obsługuje pojedynczy typ lub tablicę typów.
Walidacja Obiektów
propertiesDefiniuj podschematy dla właściwości obiektu.
requiredTablica stringów określająca, które właściwości są wymagane.
additionalPropertiesKontroluj, czy dodatkowe właściwości niezdefiniowane w properties są dozwolone; może być false lub schematem.
propertyNamesSchemat, któremu muszą odpowiadać nazwy właściwości (często używa pattern regex).
minPropertiesMinimalna liczba właściwości, które obiekt musi zawierać.
maxPropertiesMaksymalna liczba właściwości, które obiekt może zawierać.
Enumy & Stałe
enumTablica dozwolonych wartości; dane muszą być dokładnie jedną wartością z tablicy.
constWartość stała; dane muszą być ściśle równe tej wartości.
Ograniczenia Numeryczne
minimumMinimalna wartość liczbowa (włącznie).
maximumMaksymalna wartość liczbowa (włącznie).
exclusiveMinimumWartość musi być ściśle większa niż (wyłącznie).
exclusiveMaximumWartość musi być ściśle mniejsza niż (wyłącznie).
multipleOfWartość musi być wielokrotnością podanej liczby.
Ograniczenia Stringów
minLengthMinimalna długość stringa.
maxLengthMaksymalna długość stringa.
patternWyrażenie regularne; string musi pasować do tego wzorca.
formatSemantyczna walidacja formatu: email, uri, date-time, uuid, ipv4, ipv6, hostname, itp.
Ograniczenia Tablic
itemsSchemat dla elementów tablicy (pojedynczy schemat dotyczy wszystkich elementów).
minItemsMinimalna liczba elementów tablicy.
maxItemsMaksymalna liczba elementów tablicy.
uniqueItemsCzy elementy tablicy muszą być unikalne.
containsCo najmniej jeden element tablicy musi pasować do tego schematu.
Logika Kombinacyjna
allOfDane muszą pasować do wszystkich podschematów (logiczne AND).
anyOfDane muszą pasować do co najmniej jednego podschematu (logiczne OR).
oneOfDane muszą pasować dokładnie do jednego podschematu (XOR).
notDane NIE MOGĄ pasować do tego schematu (logiczne NOT).
Walidacja Warunkowa
ifSchemat warunkowy; jeśli dane pasują do if, muszą spełniać then; w przeciwnym razie muszą spełniać else.
thenSchemat do spełnienia, gdy warunek if jest prawdziwy.
elseSchemat do spełnienia, gdy warunek if nie jest prawdziwy.
Referencje & Ponowne Użycie
$refOdwołuje się do innych definicji schematu; obsługuje odwołania lokalne (#/$defs/xxx) i zdalne.
$defsDefiniuj wielokrotnie używalne podschematy (Draft 2019-09+; starsze wersje używają definitions).
definitionsSłowo kluczowe dla wielokrotnie używalnych podschematów w Draft 4-7.
Metadane
titleTytuł schematu (adnotacja, nie podlega walidacji).
descriptionOpis schematu (adnotacja, nie podlega walidacji).
defaultWartość domyślna (adnotacja, nie podlega walidacji).
examplesTablica przykładowych wartości (adnotacja, nie podlega walidacji).
$schemaOkreśla używaną wersję specyfikacji JSON Schema.
Zależności
dependentRequiredZależność właściwości: gdy właściwość istnieje, inne właściwości również muszą istnieć (Draft 2019-09+).
dependenciesSłowo kluczowe zależności w Draft 4-7 obejmujące zarówno zależności właściwości, jak i schematów.

Porównanie Wersji JSON Schema

JSON Schema ewoluowało przez wiele wersji Draft. Draft 7 jest obecnie najszerzej używaną wersją; Draft 2020-12 to najnowsza stabilna wersja.

FunkcjaDraft 4Draft 6Draft 72019-092020-12
walidacja typu
wymagane pola
enum/const✓ enum
minimum/maximum
exclusiveMinimum/Maximumlogicznyliczbaliczbaliczbaliczba
multipleOf
minLength/maxLength
wzorzec regex
walidacja formatudomyślnie adnotacjadomyślnie adnotacja
tablica items
contains
minItems/maxItems
uniqueItems
additionalProperties
propertyNames
allOf/anyOf/oneOf/not
if/then/else
referencje $ref
ponowne użycie $defsdefinitionsdefinitionsdefinitions$defs$defs
dependentRequired
krotki prefixItemsforma tablicowaforma tablicowaforma tablicowaforma tablicowaprefixItems
unevaluatedProperties
$dynamicRef/$anchor✓ $recursiveRef✓ dynamicRef