Preskočiť na obsah
100% lokálne

Validátor JSON schémy

Skontrolujte JSON dokument oproti JSON schéme a získajte prehľadný report chýb po riadkoch.

Vstup
JSON schéma
Výstup

Validátor JSON schémy

Vložte JSON dokument na jednu stranu a JSON schému na druhú a nástroj vám povie, či dokument schéme zodpovedá — a ak nie, presne kde a prečo. Každý problém sa hlási na samostatnom riadku s cestou JSON Pointer k problémovej hodnote, kľúčovým slovom schémy, ktoré zlyhalo, a skutočnou hodnotou, ktorá sa tam našla, takže sa viete rovno presunúť k oprave namiesto ručného prehľadávania rozsiahleho payloadu.

Validátor pokrýva bežné jadro JSON Schema draft-07: "type" (vrátane union polí ako ["string","null"] pre nullable polia), "required" a "properties", "additionalProperties" ako boolean alebo vlastnú schému, "items" pre validáciu zoznamu aj tuple, "minItems"/"maxItems"/"uniqueItems", numerické kľúčové slová "minimum"/"maximum"/"exclusiveMinimum"/"exclusiveMaximum"/"multipleOf", reťazcové kľúčové slová "minLength"/"maxLength"/"pattern", "enum" a "const" a kombinátory "anyOf"/"allOf"/"oneOf"/"not". Rieši tiež "$ref" ukazovatele do vlastnej sekcie schémy "#/definitions" alebo "#/$defs" — užitočné pre schémy, ktoré vyčleňujú zdieľaný tvar objektu — a odhalí "$ref", ktorý sa slučí sám na seba, namiesto toho, aby zamrazil stránku.

Toto je validátor, nie generátor formulárov riadený schémou: nenačítava schému z URL adresy ani z "$id" a nikdy to robiť nebude, pretože by to znamenalo odoslanie vašich dát alebo definície schémy mimo vaše zariadenie. Akýkoľvek "$ref" smerujúci mimo dokument sa nahlási ako nepodporovaný namiesto toho, aby bol potichu ignorovaný, takže vždy presne viete, čo bolo a čo nebolo skontrolované.

Všetko beží lokálne vo vašom prehliadači — JSON dokument aj schéma sa parsujú a kontrolujú priamo na vašom zariadení a nikam sa nenahrávajú, čo robí tento nástroj bezpečným na použitie s API payloadmi, konfiguračnými súbormi alebo akýmkoľvek iným JSON, ktorý obsahuje dáta, ktoré by ste radšej nevkladali do náhodnej webovej stránky.

Časté otázky

Ktorý draft JSON Schema tento nástroj podporuje?
Praktickú podmnožinu draft-07: type (vrátane union a nullable polí), required, properties, additionalProperties, items, minItems/maxItems/uniqueItems, číselné a reťazcové hraničné kľúčové slová, enum/const, anyOf/allOf/oneOf/not a lokálne $ref ukazovatele do "#/definitions" alebo "#/$defs".
Dokáže nasledovať $ref do iného súboru alebo URL adresy?
Nie. Riešia sa len lokálne ukazovatele do vlastnej sekcie schémy "#/definitions" alebo "#/$defs". $ref smerujúci kamkoľvek inam sa nahlási ako nepodporovaný namiesto toho, aby sa načítal, keďže načítanie vzdialenej schémy by znamenalo odoslanie dát mimo vaše zariadenie.
Čo sa stane, ak moja schéma obsahuje cyklický $ref?
Je odhalený a nahlásený ako chyba "$ref" namiesto toho, aby zamrazil kartu — validátor si eviduje referencie, ktoré práve sleduje, a zastaví sa hneď, ako sa jedna zopakuje.
Ako sa hlási každá chyba?
Jeden riadok na problém, s cestou JSON Pointer k hodnote (napríklad "/user/age"), kľúčovým slovom schémy, ktoré zlyhalo (napríklad "minimum" alebo "required") a skutočnou hodnotou, ktorá sa tam našla.
Nahrávajú sa môj JSON dokument a schéma niekam?
Nie. Validácia beží úplne vo vašom prehliadači pomocou vstavaného JSON parsera — dáta ani schéma nikdy neopustia vaše zariadenie a žiadna schéma sa nikdy nenačítava zo siete.