Generátor a validátor schémy JSON

Generovanie schémy JSON (draft-07) z príkladových údajov JSON alebo validácia ľubovoľného dokumentu JSON voči ľubovoľnej schéme s presnými chybovými hláseniami. Tiež: Formátovač JSON | Vyhodnocovač JSONPath | Všetky nástroje pre JSON.
Všetko spracovanie prebieha lokálne v prehliadači — nič sa neodosiela.
Generovanie schémy Validovať údaje
Vloží sa jeden objekt JSON nižšie (alebo pole objektov — vlastnosti sa zlúčia a required sa spojí zjednotením). Schéma sa odvodí; ak treba prísnejšie pravidlá, upraví sa potom.
Zahrnutie hlavičky $schema — pred schému sa vloží deklarácia draft-07, aby validátory vedeli, ktorý dialekt schéma používa. Príklad: "$schema": "http://json-schema.org/draft-07/schema#"
Označenie kľúčov required — do zoznamu povinných sa pridá každý kľúč nájdený vo vzorovom JSON. Príklad: "required": ["name", "price", "inStock"]
Malé množiny hodnôt sa zlúčia do enum — keď má skalárne pole 2–8 jedinečných hodnôt, jeho typ položky sa zúži na enum. Príklad: "tags": ["sale", "new", "sale"] → "tags": {"type": "array", "items": {"type": "string", "enum": ["sale", "new"]}}
Rozpoznanie bežných formátov reťazcov — rozpoznáva dátumy ISO, dátumy s časom, UUID, e-maily a URL a pridáva format. Príklad: "createdAt": {"type": "string", "format": "date-time"}
Poznámky ku generátoru: celé čísla sa stanú "integer"; reťazce získajú format len vtedy, keď je zaškrtnuté políčko formátu; viacero objektov JSON v poli sa zlučuje (kľúče rovnakého typu si ponechajú prvý typ, zmiešané typy sa zmenia na pole type; required je zjednotením všetkých vzoriek). Pri Validovať údaje sa každé neúspešné pravidlo hlási s cestou JSON pointer (napr. .items[0].price), takže sa možno hneď dostať k chybnej hodnote.
Schéma JSON — zmluva, nie typový systém

Schéma JSON opisuje, ako musí platný dokument vyzerať: ktoré kľúče sú povinné, aké typy majú hodnoty, rozsahy a vzory. Validácia overuje údaje voči tejto zmluve; nič nemení. Schémy majú verzie podľa konceptu (draft) — táto stránka generuje draft-07, najrozšírenejší dialekt; aktuálny je 2020-12.

Vygenerovaná schéma je odhad zo vzoriek — hodnoty required, enum a format sa spresňujú ručne.