JSON Schema validator
Provjeri JSON dokument prema JSON Schemi u pregledniku. Svaka greška navedena je s putanjom instance, ključnom riječi i putanjom u shemi.
| # | Putanja instance | Ključna riječ | Poruka | Putanja sheme |
|---|
Kako provjeriti JSON prema shemi
- Zalijepi svoju shemu u JSON Schema i svoje podatke u JSON dokument ili odaberi gotov slučaj iz Primjer.
- Ostavi Verzija (draft) na Automatski ($schema) da se koristi verzija koju navodi
$schemasheme ili prisilno odaberi draft 4, 7, 2019-09 ili 2020-12. - Provjera se izvodi dok tipkaš; Provjeri je pokreće ponovno. Formatiraj oboje ponovno uvlači oba teksta.
- Pročitaj rezultat: zelen redak kad je dokument valjan, inače tablica grešaka.
Čitanje tablice grešaka
Svaki redak je jedno pravilo koje nije zadovoljeno:
- Putanja instance je JSON Pointer do vrijednosti koja nije prošla provjeru.
/roles/1je druga stavka poljaroles;(korijen)je cijeli dokument. - Ključna riječ je pravilo sheme koje nije zadovoljeno:
type,required,minimum,pattern,format,additionalPropertiesi tako dalje. - Poruka objašnjava grešku, na primjer
0 is less than 1. - Putanja sheme pokazuje ključnu riječ unutar sheme, poput
/properties/id/minimum, pa pravilo možeš brzo pronaći.
Provjera se ne zaustavlja na prvom problemu: navode se sve greške. Kad svojstvo objekta ne prođe, validator prijavljuje sažetak („Property “id” does not match schema“), a zatim točan razlog. Prikaži samo najodređenije greške skriva te sažetke; isključi opciju da vidiš cijeli lanac. Greške pod anyOf i oneOf uvijek se čuvaju zajedno s određenim greškama svake grane jer imaju smisla samo zajedno.
Poruke o greškama koje daje validator na engleskom su jeziku, dok je ostatak sučelja preveden.
Što je podržano
- Drafti: 4, 6 (provjerava se pravilima drafta 7), 7, 2019-09 i 2020-12, uključujući
$defs/definitions, lokalni$ref,if/then/else,dependentRequired,dependentSchemas,prefixItems,unevaluatedPropertiesiunevaluatedItems. - Formati: provjeravaju se
date,time,date-time,duration,email,hostname,ipv4,ipv6,uri,uri-reference,uri-template,uuid,regex,json-pointerirelative-json-pointer. Nepoznati formati se zanemaruju, kako specifikacija dopušta. - Reference:
$refmože pokazivati bilo gdje unutar sheme, uključujući$idkoji ona sama deklarira. Udaljene sheme se nikada ne preuzimaju; referenca na drugi URL prijavljuje se kao neriješena.
Ovaj alat provjerava dokumente prema tvojoj shemi. Ne provjerava prati li sama shema meta-shemu, ali upozorava na nepoznate nazive tipova (type) poput "strin" ili "int", čestu tipfelersku grešku koju validatori inače tiho zanemaruju.
Primjeri
- Korisnički profil (2020-12):
required, duljine nizova,format: email,enumunutaritems,uniqueItemsiadditionalProperties: false. - Popis proizvoda s $ref (draft-07): polje čije stavke upućuju na
#/definitions/product, spatternza šifru artikla i cijenom sexclusiveMinimum. - Konfiguracija s if/then (2019-09): certifikat obavezan samo u HTTPS načinu,
oneOfizmeđu e-pošte i URI-ja te brojčana ograničenja.
Svaki primjer dolazi s dokumentom koji sadrži namjerne pogreške, pa možeš vidjeti kako greške izgledaju.
Česta pitanja
Šalju li se moji podaci?
Ne. Shema i dokument provjeravaju se u tvom pregledniku; ništa se ne šalje na poslužitelj.
Zašto je `$ref` u mojoj shemi „neriješen“?
Validator poznaje samo shemu koju si zalijepio. $ref na drugu datoteku ili URL ne može se slijediti; kopiraj referencirane definicije u $defs i umjesto toga upućuj na #/$defs/….
Koji draft trebam koristiti?
Koristi onaj koji tvoj projekt cilja i deklariraj ga pomoću $schema. Za nove sheme 2020-12 je aktualna verzija; koristi je i OpenAPI 3.1.
Zašto integer odbija 2.0?
Ne odbija: JSON Schema tretira 2.0 kao cijeli broj jer je njegova vrijednost cjelobrojna. 2.5 ne zadovoljava "type": "integer".
Radi li izvan mreže?
Da. Nakon što se stranica učita i izvedeš prvu provjeru (koja učitava validator), veza nije potrebna.
Slični alati
- JSON formater i validator Besplatni JSON formater i validator koji uljepšava, minificira i provjerava JSON u pregledniku, a sintaksne greške prijavljuje s retkom i stupcem.
- JSONPath tester Testiraj JSONPath izraze na vlastitom JSON-u u pregledniku. Filtri, isječci, rekurzivni spust, putanje i JSON Pointeri, uz gotove primjere.
- Pretvarač JSON-a u YAML Pretvaraj JSON u YAML i YAML u JSON u pregledniku, uz podršku za sidra, spojne ključeve i datoteke s više dokumenata. Ništa se ne šalje.