JSON Schema valideerija
Valideeri JSON-dokument JSON Schema vastu oma brauseris. Iga viga loetletakse koos eksemplari tee, võtmesõna ja skeemi teega.
| # | Eksemplari tee | Võtmesõna | Teade | Skeemi tee |
|---|
Kuidas JSON-i skeemi vastu valideerida
- Kleebi skeem väljale JSON Schema ja andmed väljale JSON-dokument või vali valmis juhtum jaotisest Näide.
- Jäta Versioon väärtusele Automaatne ($schema), et kasutada skeemi
$schemanimetatud versiooni, või sunni peale draft 4, 7, 2019-09 või 2020-12. - Valideerimine töötab kirjutamise ajal; Valideeri käivitab selle uuesti. Vorminda mõlemad taandab mõlemad tekstid uuesti.
- Loe tulemust: roheline rida, kui dokument on korrektne, muidu veatabel.
Veatabeli lugemine
Iga rida on üks ebaõnnestunud reegel:
- Eksemplari tee on JSON Pointer väärtuseni, mis ebaõnnestus.
/roles/1onrolesteine element;(juur)on kogu dokument. - Võtmesõna on skeemi reegel, mis ebaõnnestus:
type,required,minimum,pattern,format,additionalPropertiesjne. - Teade selgitab ebaõnnestumist, näiteks
0 is less than 1. - Skeemi tee viitab võtmesõnale skeemi sees, näiteks
/properties/id/minimum, et saaksid reegli kiiresti üles leida.
Valideerimine ei peatu esimesel probleemil: kõik vead loetletakse. Kui objekti omadus ebaõnnestub, teatab valideerija kokkuvõtte („Property “id” does not match schema“), millele järgneb täpne põhjus. Näita ainult kõige täpsemaid vigu peidab need kokkuvõtted; võta märge maha, et näha kogu ahelat. Vead anyOf ja oneOf all hoitakse alati koos iga haru täpsete vigadega, sest need on mõistlikud ainult koos.
Mida toetatakse
- Versioonid: 4, 6 (valideeritakse draft 7 reeglitega), 7, 2019-09 ja 2020-12, sealhulgas
$defs/definitions, kohalik$ref,if/then/else,dependentRequired,dependentSchemas,prefixItems,unevaluatedPropertiesjaunevaluatedItems. - Vormingud: kontrollitakse
date,time,date-time,duration,email,hostname,ipv4,ipv6,uri,uri-reference,uri-template,uuid,regex,json-pointerjarelative-json-pointer. Tundmatud vormingud ignoreeritakse, nagu spetsifikatsioon lubab. - Viited:
$refvõib osutada kuhu tahes skeemi sees, sealhulgas selles deklareeritud$id-le. Kaugskeeme ei laadita kunagi alla; viide teisele URL-ile teatatakse lahendamata viitena.
See tööriist valideerib dokumente sinu skeemi vastu. See ei kontrolli, kas skeem ise järgib metaskeemi, kuid hoiatab tundmatute type nimede eest, nagu "strin" või "int", mis on levinud kirjaviga, mida valideerijad muidu vaikselt ignoreerivad.
Näited
- Kasutajaprofiil (2020-12):
required, stringide pikkused,format: email,enumelementide sees,uniqueItemsjaadditionalProperties: false. - Tootenimekiri koos $ref-iga (draft-07): massiiv, mille elemendid viitavad
#/definitions/product, koos SKUpattern-iga jaexclusiveMinimumhinnaga. - Seadistus if/then-iga (2019-09): sertifikaat nõutav ainult HTTPS-režiimis,
oneOfe-posti ja URI vahel ning arvulised piirid.
Iga näide tuleb dokumendiga, mis sisaldab tahtlikke vigu, et näeksid, milline veateade välja näeb.
Korduma kippuvad küsimused
Kas minu andmed laaditakse üles?
Ei. Skeem ja dokument valideeritakse sinu brauseris; midagi ei saadeta serverisse.
Miks on minu skeemi $ref „lahendamata“?
Valideerija teab ainult skeemi, mille kleepisid. $ref teise faili või URL-i juurde ei saa jälgida; kopeeri viidatud definitsioonid $defs sisse ja viita hoopis #/$defs/….
Millist versiooni peaksin kasutama?
Kasuta seda, mida sinu projekt sihib, ja deklareeri see $schema abil. Uute skeemide jaoks on 2020-12 praegune versioon; ka OpenAPI 3.1 kasutab seda.
Miks integer lükkab tagasi 2.0?
See ei lükka: JSON Schema käsitleb 2.0 täisarvuna, sest selle väärtus on täisarv. 2.5 ei läbi "type": "integer".
Kas see töötab võrguühenduseta?
Jah. Kui leht on laaditud ja oled teinud esimese valideerimise (mis laeb valideerija), ei ole ühendust vaja.
Seotud tööriistad
- JSON-i vormindaja ja valideerija Tasuta JSON-i vormindaja ja valideerija, mis kaunistab, minimeerib ja kontrollib JSON-i sinu brauseris ning teatab süntaksivead rea ja veeruga.
- JSONPathi testija Testi JSONPath-avaldisi oma JSON-il brauseris. Filtrid, lõigud, rekursiivne laskumine, teed ja JSON Pointerid koos valmis näidetega.
- JSON-i ja YAML-i teisendaja Teisenda JSON YAML-iks ja YAML JSON-iks oma brauseris, ankrute, ühendusvõtmete ja mitme dokumendiga failide toega. Midagi ei laadita üles.