JSON Schema validátor
Ellenőrizz egy JSON-dokumentumot JSON Schema alapján a böngésződben. Minden hibát kilistáz a példány útvonalával, kulcsszavával és a séma útvonalával.
| # | Példány útvonala | Kulcsszó | Üzenet | Séma útvonala |
|---|
Hogyan ellenőrizz JSON-t sémával szemben
- Illeszd be a sémát a JSON Schema mezőbe, az adataidat a JSON-dokumentum mezőbe, vagy válassz egy kész esetet a Példa közül.
- Hagyd a Draft beállítást Automatikus ($schema) értéken, hogy a séma
$schemamezője által megnevezett verziót használja, vagy erőltesd a 4-es, a 7-es, a 2019-09-es vagy a 2020-12-es draftot. - Az ellenőrzés gépelés közben fut; az Ellenőrzés gomb újra lefuttatja. A Mindkettő formázása újrabehúzza a két szöveget.
- Olvasd le az eredményt: zöld sor, ha a dokumentum érvényes, különben hibatáblázat.
A hibatáblázat olvasása
Minden sor egy sikertelen szabály:
- A Példány útvonala egy JSON Pointer a sikertelen értékre. A
/roles/1arolesmásodik eleme; a (gyökér) a teljes dokumentum. - A Kulcsszó a sikertelen sémaszabály:
type,required,minimum,pattern,format,additionalPropertiesés így tovább. - Az Üzenet megmagyarázza a hibát, például
0 is less than 1. - A Séma útvonala a séma kulcsszavára mutat, például
/properties/id/minimum, így gyorsan megtalálhatod a szabályt.
Az ellenőrzés nem áll meg az első problémánál: minden hibát listáz. Ha egy objektumtulajdonság hibázik, a validátor összefoglalót ad („Property “id” does not match schema”), majd a pontos okot. A Csak a legspecifikusabb hibák mutatása elrejti ezeket az összefoglalókat; vedd ki a jelölést, hogy a teljes láncot lásd. Az anyOf és oneOf alatti hibákat az eszköz mindig az egyes ágak specifikus hibáival együtt tartja meg, mert csak együtt van értelmük.
A validátor hibaüzenetei angolul jelennek meg.
Mit támogat
- Draftok: 4, 6 (a 7-es draft szabályaival ellenőrizve), 7, 2019-09 és 2020-12, beleértve a
$defs/definitions, a helyi$ref, azif/then/else, adependentRequired, adependentSchemas, aprefixItems, azunevaluatedPropertiesés azunevaluatedItemskulcsszavakat. - Formátumok: a
date,time,date-time,duration,email,hostname,ipv4,ipv6,uri,uri-reference,uri-template,uuid,regex,json-pointerésrelative-json-pointerformátumokat ellenőrzi. Az ismeretlen formátumokat figyelmen kívül hagyja, ahogy a specifikáció megengedi. - Hivatkozások: a
$refbárhová mutathat a sémán belül, az általa deklarált$idértékekre is. Távoli sémákat soha nem tölt le; egy másik URL-re mutató hivatkozást feloldatlanként jelez.
Ez az eszköz a dokumentumokat a te sémád alapján ellenőrzi. Nem vizsgálja, hogy maga a séma megfelel-e a metasémának, de figyelmeztet az ismeretlen type nevekre, például a "strin" vagy "int" értékre, amely gyakori elgépelés, és amelyet a validátorok egyébként csendben figyelmen kívül hagynak.
A példák
- Felhasználói profil (2020-12):
required, karakterlánc-hosszak,format: email,enumazitemsbelsejében,uniqueItemsésadditionalProperties: false. - Terméklista $ref-fel (draft-07): egy tömb, amelynek elemei a
#/definitions/producthelyre hivatkoznak, az SKU-hozpattern-nel ésexclusiveMinimumárral. - Konfiguráció if/then-nel (2019-09): egy tanúsítvány, amely csak HTTPS módban kötelező, egy
oneOfaz e-mail és az URI között, valamint numerikus korlátok.
Minden példához tartozik egy szándékos hibákat tartalmazó dokumentum, hogy lásd, hogyan néznek ki a hibák.
Gyakori kérdések
Feltöltődnek az adataim?
Nem. A sémát és a dokumentumot a böngésződben ellenőrizzük; semmi nem kerül elküldésre szervernek.
Miért „feloldatlan” a sémám $ref hivatkozása?
A validátor csak a beillesztett sémát ismeri. Egy másik fájlra vagy URL-re mutató $ref nem követhető; másold a hivatkozott definíciókat a $defs részbe, és a #/$defs/… helyre mutass.
Melyik draftot használjam?
Azt, amelyet a projekted céloz, és deklaráld a $schema mezővel. Új sémákhoz a 2020-12 az aktuális verzió; az OpenAPI 3.1 is ezt használja.
Miért utasítja el az integer a 2.0 értéket?
Nem utasítja el: a JSON Schema a 2.0 értéket egész számnak tekinti, mert az értéke egész. A 2.5 megbukik a "type": "integer" szabályon.
Működik offline?
Igen. Miután az oldal betöltődött, és lefuttattál egy első ellenőrzést (amely betölti a validátort), nincs szükség kapcsolatra.
Kapcsolódó eszközök
- JSON formázó és validátor Ingyenes JSON formázó és validátor, amely a böngésződben szépít, tömörít és ellenőriz JSON-t, a szintaxishibákat sor és oszlop szerint jelezve.
- JSONPath teszter Teszteld a JSONPath-kifejezéseket a saját JSON-odon a böngészőben. Szűrők, szeletek, rekurzív bejárás, útvonalak és JSON Pointerek, kész példákkal.
- JSON–YAML konvertáló Konvertálj JSON-t YAML-lé és YAML-t JSON-ná a böngésződben, horgonyok, összevonó kulcsok és többdokumentumos fájlok támogatásával. Semmi nem töltődik fel.