Generator JSON Schema z gotowego JSON-a
JSON Schema to "instrukcja obsługi" Twojego JSON-a: jakie pola są wymagane, jakie typy, jakie formaty. Tu wkleisz przykładowy JSON, a my zgadniemy schemat za Ciebie.
Wykrywamy typy (string, integer, number, boolean, null, array, object), format pól tekstowych (email, date-time, uuid, ipv4, uri), tablice jednorodne kontra krotki] z prefixItems, oraz krótkie enum dla pól z ograniczonym zbiorem wartości.
Wybierasz wersję (Draft 2020-12, 2019-09 lub starszy 7) i tryb: ścisły (additionalProperties: false, wszystko wymagane) albo tolerancyjny (zezwalaj na dodatkowe pola).
Jak korzystać
- Wybierz wersję JSON Schema w panelu na górze (Draft 2020-12 to bezpieczny domyślny wybór).
- Wklej przykładowy JSON w lewe pole. Im więcej obiektów w tablicy, tym lepiej zgadniemy "co jest wymagane".
- Włącz detekcję formatów żeby pola typu "2026-05-13" dostały `"format": "date"`, a "user@example.com" - `"format": "email"`.
- Tryb ścisły wymusza `additionalProperties: false` i wszystkie pola wymagane. Tryb tolerancyjny zezwala na dodatkowe klucze.
- Skopiuj wygenerowany schemat (prawa strona) i wklej do swojego projektu - to gotowy plik `schema.json` do walidacji.
Do czego się przydaje
Realne sytuacje w pracy z API i danymi:
- Dokumentacja API - dostajesz przykład odpowiedzi, potrzebujesz formalnego schematu do OpenAPI albo wewnętrznego dokumentu. Wklej JSON, dostań schemat w 2 sekundy.
- Walidacja danych wejściowych - sprawdzasz request POST od klienta, czy ma wszystkie wymagane pola. Schemat plus biblioteka ajv na backendzie = bezpieczeństwo.
- Generowanie typów TypeScript - schemat to wejście dla generatorów typu `json-schema-to-typescript`. Z JSON-a robisz schemat, ze schematu - interfejs.
- Konfiguracja narzędzi - VSCode `settings.json`, ESLint config, package.json - wszystkie te pliki mają schemat. Możesz napisać swój i dostać autouzupełnianie w edytorze.
- Testowanie kontraktu - schema-based testing: zachowujesz schemat starej wersji API, sprawdzasz czy nowa wersja jest zgodna wstecz.
- Form generator - niektóre biblioteki (react-jsonschema-form) generują formularze z JSON Schema. Tu dostajesz schemat startowy do edycji.
Aby zwalidować JSON pod schematem, użyj naszego walidatora JSON Schema. Aby wygenerować typy TypeScript z JSON-a, zajrzyj do konwertera JSON na TypeScript. Do eksploracji struktury użyj testera JSONPath.