DT Dev Tools

Generator JSON Schema

Wygeneruj lokalnie schemat JSON Schema draft-07 z przykładu JSON. Darmowy generator wnioskuje typy, właściwości, pola wymagane i schematy elementów tablic bez przesyłania danych.

🔒 Działa całkowicie w Twojej przeglądarce — nic nie jest przesyłane

Advertisement

Co robi Generator JSON Schema

Generator JSON Schema odczytuje przykład JSON i tworzy schemat draft-07, który waliduje dokumenty o tej samej strukturze. Przechodzi przez wartość rekurencyjnie: obiekty stają się schematem z mapą properties i tablicą required, tablice stają się schematem z definicją items, a wartości proste są opisywane za pomocą odpowiedniego type z JSON Schema. Wynikiem jest przenośny kontrakt, który można wykorzystać w dokumentacji API, w oprogramowaniu pośredniczącym do walidacji żądań, w modułach ładujących konfigurację, w testach kontraktowych lub w narzędziach edytora oferujących autouzupełnianie i walidację w trakcie pisania na podstawie schematu.

Tablice są streszczane, a nie wyliczane. Gdy tablica zawiera obiekty, wszystkie elementy są scalane, dzięki czemu wygenerowany schemat items obejmuje sumę kluczy, a klucz, którego brakuje w niektórych elementach, jest usuwany z listy pól wymaganych. Gdy tablica miesza typy proste, generator tworzy anyOf, aby każdy zaobserwowany typ pozostał poprawny. Generowanie z przykładu to najszybszy sposób na przygotowanie schematu, który następnie dopracowujesz ręcznie, zamiast pisać zagnieżdżone definicje typów od zera.

Prywatny sposób pracy w przeglądarce

Całe parsowanie i budowanie schematu odbywa się w Twojej przeglądarce za pomocą JavaScriptu po stronie klienta. Narzędzie nie wysyła na serwer Twojego JSON-a, odpowiedzi API, konfiguracji, identyfikatorów ani przykładów przypominających dane klientów i nie wymaga konta. Takie wyłącznie lokalne działanie jest ważne, ponieważ dane wejściowe generatora schematów to często rzeczywisty ładunek przechwycony podczas debugowania usługi. Praca na własnym komputerze ogranicza ryzyko, a wynik pojawia się natychmiast, bo nic nie opuszcza strony.

Interfejs pokazuje obok siebie dane wejściowe JSON i wygenerowany schemat, dzięki czemu możesz sprawdzić wynik przed skopiowaniem. Schemat wygenerowany z jednego przykładu to punkt wyjścia, a nie gotowy kontrakt: pojedynczy przykład nie ujawni wszystkich właściwości opcjonalnych, wartości enum, ograniczeń formatu ani zakresów liczbowych dozwolonych w Twojej dziedzinie, dlatego rozszerz i zawęź schemat, korzystając z wiedzy, której przykład nie zawiera.

Praktyczne wskazówki

Użyj najpełniejszego dostępnego przykładu, z wypełnionymi polami opcjonalnymi i tablicami zawierającymi więcej niż jeden element, aby logika scalania mogła dokładnie opisać unie typów. Po wygenerowaniu dopracuj schemat: dodaj słowa kluczowe format, takie jak email, uri lub date-time, tam gdzie to potrzebne, dodaj listy enum dla pól o stałym zbiorze wartości, ustaw minimum i maximum dla liczb oraz usuń z tablicy required pola, których może zasadnie brakować. Zanim użyjesz gotowego schematu w produkcji, sprawdź go na kilku prawdziwych dokumentach wybranym walidatorem – generowanie w przeglądarce najlepiej sprawdza się jako szybki i trafny pierwszy szkic.

Jak używać

  1. Wklej JSONDodaj reprezentatywny obiekt, tablicę lub wartość JSON.
  2. WygenerujUtwórz schemat draft-07 opisujący przykład.
  3. Skopiuj lub pobierzSprawdź schemat, a następnie skopiuj go lub pobierz plik .json.

Najczęściej zadawane pytania

Jaka wersja JSON Schema jest tworzona?
Generator tworzy schematy draft-07 z odpowiednim identyfikatorem $schema.
Jak wybierane są właściwości wymagane?
Każdy klucz obecny w przykładowym obiekcie trafia na listę wymaganych. Usuń z tablicy required klucze opcjonalne.
Czy mój JSON jest przesyłany?
Nie. Generowanie schematu odbywa się w całości w Twojej przeglądarce za pomocą JavaScriptu po stronie klienta.
Advertisement