Narzędzia
PL

Generator JSON Schema

Wklej przykładowy dokument JSON i otrzymaj JSON Schema, który go opisuje – z typami, wymaganymi właściwościami, zagnieżdżonymi obiektami i tablicami oraz formatami ciągów znaków, takimi jak email, date-time czy UUID.

Przykładowy JSON

JSON Schema

Prywatnie: Twoje dane są przetwarzane w przeglądarce i nigdy nie trafiają na serwer.

Jak wygenerować JSON Schema

  1. Wklej reprezentatywny przykład JSON. Najlepsze wyniki dają tablice z kilkoma elementami, ponieważ ich elementy są scalane w jeden schemat.
  2. Wybierz wersję schematu (draft 2020-12 lub draft-07) i zdecyduj, czy właściwości mają być wymagane, czy wykrywać formaty i czy blokować dodatkowe właściwości.
  3. Skopiuj lub pobierz schemat, a następnie dopracuj go ręcznie – na przykład dodaj opisy, wartości enum albo wartości minimalne i maksymalne.

Co generator rozpoznaje w przykładzie

Przykład JSONSchemat
"ada@example.com"{"type": "string", "format": "email"}
"2026-05-01T10:00:00Z"format date-time (także date, time, uri, uuid, ipv4)
42 / 4.5"integer" / "number"
klucz obecny w każdym obiekcietrafia do required
klucz, którego brakuje w niektórych elementach tablicyopcjonalny (nie ma go w required)
[1, "a", null]"items": {"type": ["string", "integer", "null"]}
obiekty wymieszane z prostymi wartościamianyOf z osobnym schematem dla każdego rodzaju

Co to jest JSON Schema?

JSON Schema to słownik do opisywania i walidacji struktury danych JSON: określa, jakie właściwości istnieją, jaki typ ma każda z nich, które są wymagane i jakie wartości są dozwolone. Używa się go w kontraktach API w OpenAPI, w plikach konfiguracyjnych, do generowania formularzy i do walidacji ustrukturyzowanych odpowiedzi modeli AI. Aktualna wersja to 2020-12; draft-07 jest nadal obsługiwany przez wiele starszych narzędzi. Specyfikacja jest opublikowana na stronie json-schema.org.

Jak dopracować wygenerowany schemat

Najczęściej zadawane pytania

Której wersji JSON Schema używać?

W nowych projektach używaj draft 2020-12 – to aktualna wersja i podstawa OpenAPI 3.1. Wybierz draft-07, jeśli Twój walidator lub inne narzędzia nie obsługują jeszcze wersji 2020-12.

Dlaczego wszystkie moje właściwości są wymagane?

W pojedynczym przykładowym obiekcie występuje każda właściwość, więc wszystkie zostają oznaczone jako wymagane. Użyj tablicy z kilkoma zróżnicowanymi przykładami lub wyłącz opcję Oznacz właściwości jako wymagane.

Czy generator potrafi wykryć wartości enum lub zakresy?

Nie. Jeden przykład nie pokazuje, jakie wartości są ogólnie dozwolone, dlatego enumy, wartości minimalne i maksymalne oraz wzorce trzeba dodać ręcznie.

Jak zwalidować JSON względem schematu?

Użyj biblioteki walidującej, takiej jak Ajv dla JavaScriptu lub jsonschema dla Pythona. Wiele edytorów kodu również waliduje plik JSON względem schematu wskazanego we właściwości $schema.