Generator i walidator JSON Schema

Generuj JSON Schema (draft-07) z przykładowych danych JSON albo waliduj dowolny dokument JSON względem dowolnego schematu z precyzyjnymi komunikatami błędów. Także: Formatter JSON | Ewaluator JSONPath | Wszystkie narzędzia JSON.
Całe przetwarzanie odbywa się lokalnie w przeglądarce — nic nie jest wysyłane.
Generuj schemat Waliduj dane
Wklej poniżej jeden obiekt JSON (albo tablicę obiektów — właściwości są łączone, a required jest sumą). Schemat jest wnioskowany; w razie potrzeby edytuj go, aby uzyskać ostrzejsze reguły.
Nagłówek $schema — dodaje na początku deklarację draft-07, aby walidatory wiedziały, jakiego dialektu używa schemat. Przykład: "$schema": "http://json-schema.org/draft-07/schema#"
Oznaczanie kluczy required — dodaje do listy wymaganych każdy klucz znaleziony w przykładowym JSON. Przykład: "required": ["name", "price", "inStock"]
Zwijanie małych zbiorów wartości do enum — gdy tablica wartości prostych ma 2–8 unikalnych wartości, jej typ elementów zawęża się do enum. Przykład: "tags": ["sale", "new", "sale"] → "tags": {"type": "array", "items": {"type": "string", "enum": ["sale", "new"]}}
Wykrywanie popularnych formatów tekstu — rozpoznaje daty ISO, daty z czasem, UUID, e-maile i adresy URL i dodaje format. Przykład: "createdAt": {"type": "string", "format": "date-time"}
Uwagi o generatorze: liczby całkowite stają się "integer"; teksty dostają format tylko wtedy, gdy zaznaczone jest pole formatu; kilka obiektów JSON w tablicy jest łączonych (klucze tego samego typu zachowują pierwszy typ, mieszane typy wracają do tablicy type; required to suma wszystkich próbek). Przy Waliduj dane każda niespełniona reguła jest zgłaszana wraz ze ścieżką JSON-pointer (np. .items[0].price), abyś mógł od razu przejść do błędnej wartości.
JSON Schema — kontrakt, a nie system typów

JSON Schema opisuje, jak powinien wyglądać poprawny dokument: które klucze są wymagane, jakie typy mają wartości, zakresy i wzorce. Walidacja sprawdza dane względem tego kontraktu; niczego nie przekształca. Schematy są wersjonowane według draftów — ta strona generuje draft-07, najszerzej obsługiwany dialekt; aktualny jest 2020-12.

Wygenerowany schemat to zgadywanie z próbek — zaostrz ręcznie required, enum i format.