Validátor JSON Schema
Over dokument JSON podľa schémy JSON Schema v prehliadači. Každá chyba je uvedená s cestou v dokumente, kľúčovým slovom a cestou v schéme.
| # | Cesta v dokumente | Kľúčové slovo | Správa | Cesta v schéme |
|---|
Ako overiť JSON podľa schémy
- Vlož schému do Schéma JSON a údaje do Dokument JSON, alebo vyber hotový prípad z Príklad.
- Nechaj Verzia (draft) na Automaticky ($schema), aby sa použila verzia uvedená v
$schemaschémy, alebo vynúť draft 4, 7, 2019-09 či 2020-12. - Overenie beží počas písania; Overiť ho spustí znova. Formátovať oba znova odsadí oba texty.
- Prečítaj si výsledok: zelený riadok, ak je dokument platný, inak tabuľku chýb.
Čítanie tabuľky chýb
Každý riadok je jedno porušené pravidlo:
- Cesta v dokumente je JSON Pointer na hodnotu, ktorá neprešla.
/roles/1je druhá položka vroles;(koreň)je celý dokument. - Kľúčové slovo je pravidlo schémy, ktoré zlyhalo:
type,required,minimum,pattern,format,additionalPropertiesa podobne. - Správa vysvetľuje zlyhanie, napríklad
0 is less than 1. - Cesta v schéme ukazuje na kľúčové slovo v schéme, napríklad
/properties/id/minimum, takže pravidlo rýchlo nájdeš.
Overovanie sa nezastaví pri prvom probléme: vypíšu sa všetky chyby. Keď zlyhá vlastnosť objektu, validátor nahlási súhrn („Property “id” does not match schema“) a za ním presný dôvod. Zobraziť iba najpresnejšie chyby tieto súhrny skryje; ak voľbu zrušíš, uvidíš celý reťazec. Chyby pod anyOf a oneOf sa vždy ponechávajú spolu s presnými chybami každej vetvy, pretože majú zmysel iba spolu.
Čo je podporované
- Drafty: 4, 6 (overuje sa pravidlami draftu 7), 7, 2019-09 a 2020-12, vrátane
$defs/definitions, lokálneho$ref,if/then/else,dependentRequired,dependentSchemas,prefixItems,unevaluatedPropertiesaunevaluatedItems. - Formáty: kontrolujú sa
date,time,date-time,duration,email,hostname,ipv4,ipv6,uri,uri-reference,uri-template,uuid,regex,json-pointerarelative-json-pointer. Neznáme formáty sa ignorujú, ako to špecifikácia dovoľuje. - Odkazy:
$refmôže smerovať kamkoľvek v schéme, vrátane$id, ktoré schéma deklaruje. Vzdialené schémy sa nikdy nesťahujú; odkaz na inú URL sa ohlási ako nevyriešený.
Tento nástroj overuje dokumenty podľa tvojej schémy. Nekontroluje, či samotná schéma zodpovedá metaschéme, ale upozorní na neznáme názvy typov v type, napríklad "strin" alebo "int", čo je častý preklep, ktorý validátory inak potichu ignorujú.
Príklady
- Profil používateľa (2020-12):
required, dĺžky reťazcov,format: email,enumvitems,uniqueItemsaadditionalProperties: false. - Zoznam produktov s $ref (draft-07): pole, ktorého položky odkazujú na
#/definitions/product, sopatternpre SKU a cenou sexclusiveMinimum. - Konfigurácia s if/then (2019-09): certifikát vyžadovaný len v režime HTTPS,
oneOfmedzi e‑mailom a URI a číselné limity.
Každý príklad prichádza s dokumentom so zámernými chybami, takže uvidíš, ako chyby vyzerajú.
Často kladené otázky
Nahrávajú sa moje údaje?
Nie. Schéma aj dokument sa overujú v tvojom prehliadači; nič sa neodosiela na server.
Prečo je `$ref` v mojej schéme „nevyriešený“?
Validátor pozná iba schému, ktorú si vložil. $ref na iný súbor alebo URL sa nedá nasledovať; skopíruj odkazované definície do $defs a odkazuj na #/$defs/….
Ktorý draft mám použiť?
Ten, ktorý cieli tvoj projekt, a deklaruj ho cez $schema. Pre nové schémy je aktuálna verzia 2020-12; používa ju aj OpenAPI 3.1.
Prečo integer odmieta 2.0?
Neodmieta: JSON Schema berie 2.0 ako celé číslo, pretože jeho hodnota je celá. 2.5 pri "type": "integer" zlyhá.
Funguje to offline?
Áno. Po načítaní stránky a prvom overení (ktoré načíta validátor) už nie je potrebné pripojenie.
Súvisiace nástroje
- Formátovanie a validácia JSON Bezplatný formátovač a validátor JSON, ktorý skrášľuje, minifikuje a kontroluje JSON v prehliadači a hlási syntaktické chyby s riadkom a stĺpcom.
- Tester výrazov JSONPath Otestuj výrazy JSONPath na vlastnom JSON v prehliadači. Filtre, výseky, rekurzívne prehľadávanie, cesty a JSON Pointery, s hotovými príkladmi.
- Konvertor JSON na YAML a späť Konvertuj JSON na YAML a YAML na JSON v prehliadači, s podporou kotiev, zlučovacích kľúčov a viacdokumentových súborov. Nič sa nenahráva.