Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator schematu JSON

Utwórz schemat draft-07 z przykładowego obiektu JSON.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
Wklej JSON i kliknij „Generuj schemat”.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator JSON Schema — schemat draft-07 z przykładowego JSON-a

Generator schematu JSON zamienia przykładowy obiekt JSON w gotowy schemat JSON Schema w wersji draft-07. Wklejasz reprezentatywny fragment danych, a narzędzie wnioskuje typy pól, buduje sekcję properties i listę required oraz opisuje elementy tablic przez items — dostajesz punkt wyjścia do walidacji API, konfiguracji i formularzy.

Czym jest JSON Schema

JSON Schema to język opisu struktury danych JSON, sam zapisany w JSON. Zamiast opisywać w komentarzu, że pole id jest liczbą całkowitą, a tags tablicą łańcuchów, zapisujesz to formalnie i pozwalasz walidatorowi sprawdzić zgodność automatycznie. Schemat pełni potrójną rolę: jest kontraktem, dokumentacją czytelną dla człowieka i regułą, którą wykona maszyna. Kluczowe słowa — type, properties, required, items, $schema — mają stałe znaczenie niezależnie od języka.

Jak działa wnioskowanie schematu z przykładu

Narzędzie parsuje wklejony JSON i schodzi rekurencyjnie po jego strukturze. Dla obiektu tworzy sekcję properties z opisem każdego pola, a pola o niepustej wartości dopisuje do listy required. Dla tablicy ustala typ przez items na podstawie pierwszego elementu. Wartości proste mapuje na typy JSON Schema: liczba całkowita to integer, liczba z kropką dziesiętną to number, wartość logiczna to boolean, null daje null, a łańcuch znaków to string. Rozróżnienie integer od number bierze się z zapisu, więc dla pól bywających ułamkiem podaj w przykładzie wartość z kropką.

type, properties, required, items — z czego składa się wynik

Słowo kluczoweRola w schemacieSkąd bierze je generator
$schemawskazuje wersję specyfikacjiwpisywany na sztywno na początku
typetyp wartości: object, array, string, integer, number, boolean, nullz typu wartości w przykładzie
propertiesopis pól obiektu, pole po poluz kluczy obiektu JSON
requiredlista pól, które muszą wystąpićz pól o niepustej wartości
itemsopis typu elementów tablicyz pierwszego elementu tablicy

Zagnieżdżone obiekty i tablice

Struktury zagnieżdżone są obsługiwane w pełni rekurencyjnie: obiekt w obiekcie dostaje własną sekcję properties, a tablica obiektów opisuje w items schemat pojedynczego rekordu razem z listą required. Pusty obiekt {} to type: object z pustym properties, a pusta tablica [] to type: array bez klucza items — bo z pustej tablicy nie da się odgadnąć typu elementów, więc narzędzie zostawia to miejsce do uzupełnienia.

Jak wygenerować schemat krok po kroku

  1. Wklej reprezentatywny przykład danych — im pełniejszy obiekt, tym trafniejszy schemat.
  2. Kliknij Generuj schemat. Wynik pojawi się po prawej, sformatowany z wcięciami.
  3. Sprawdź listę required i usuń z niej pola faktycznie opcjonalne.
  4. Dopisz to, czego z jednego przykładu nie widać: format, pattern, enum, ograniczenia liczbowe.
  5. Skopiuj gotowy schemat i wczytaj go do walidatora.

Wersje drafta i pole $schema

Pole $schema deklaruje, według której wersji specyfikacji czytać schemat. Generator wpisuje adres draft-07 — wersji szeroko wspieranej przez walidatory w PHP, JavaScripcie i Pythonie. Nowsze wydania (2019-09, 2020-12) zmieniły m.in. opis elementów tablicy: items w formie tablicowej zastąpiono słowem prefixItems. Jeśli Twój walidator wymaga nowszej wersji, podmień adres i dostosuj zmienione fragmenty.

Walidacja danych względem schematu

Sam schemat niczego nie sprawdza — potrzebujesz walidatora, który porówna z nim dane: justinrainbow/json-schema w PHP, Ajv w JavaScripcie, moduł jsonschema w Pythonie. Zwróci listę niezgodności: brakujące pole z required, zły typ, wartość spoza enum. Aby najpierw sprawdzić, czy sam JSON jest poprawny składniowo, użyj narzędzia walidator JSON, a do przejrzenia struktury w formie drzewa — przeglądarki JSON online.

Do czego służy JSON Schema w praktyce

Najczęstsze zastosowanie to walidacja wejścia API: serwer odrzuca dane niezgodne ze schematem i zwraca czytelny błąd. Schemat bywa też źródłem dokumentacji API, opisuje reguły formularzy spójnie po stronie klienta i serwera, a w plikach konfiguracyjnych podpowiada dozwolone klucze i typy. Zanim schemat trafi do repozytorium, uporządkuj jego zapis formatterem JSON.

Schemat z jednego przykładu opisuje ten jeden przypadek, nie całą dziedzinę danych. Pole opcjonalne, które akurat miało wartość, trafi do required; pole będące liczbą całkowitą dostanie typ integer, choć bywa ułamkiem. Traktuj wynik jak szkic i domknij go ręcznie, zwłaszcza listę required.

Najczęściej zadawane pytania

Czym jest draft-07?

To jedna z wersji specyfikacji JSON Schema, szeroko wspierana przez walidatory i narzędzia. Adres tej wersji generator wpisuje w polu $schema. Nowsze wydania (2019-09, 2020-12) wprowadziły m.in. prefixItems zamiast tablicowego items.

Czy schemat od razu wymusza pola?

Nie. Generator jedynie proponuje listę required na podstawie pól o niepustej wartości w przykładzie. To Ty decydujesz, które pola są naprawdę obowiązkowe.

Co się stanie, gdy wkleję niepoprawny JSON?

Narzędzie nie zwróci uszkodzonego wyniku — pojawi się komunikat o błędzie z opisem problemu. Jeśli poprawny JSON jest gołą wartością prostą (liczbą, łańcuchem), dostaniesz informację, że głównym elementem musi być obiekt albo tablica.

Jak obsługiwane są zagnieżdżone obiekty i tablice?

W pełni rekurencyjnie. Obiekt w obiekcie otrzymuje własną sekcję properties, a tablica obiektów opisuje w items schemat pojedynczego elementu wraz z listą required. Typ elementów tablicy bierze się z pierwszego elementu.

Jak walidować dane przy użyciu schematu?

Wczytaj schemat do walidatora: justinrainbow/json-schema w PHP, Ajv w JavaScripcie, jsonschema w Pythonie. Walidator wskaże niezgodności — brak wymaganego pola, zły typ czy wartość spoza dozwolonego zbioru.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!