JSON Schema-validator
Valider et JSON-dokument mot et JSON Schema i nettleseren din. Hver feil listes med forekomststi, nøkkelord og schema-sti. Feilmeldingene er på engelsk.
| # | Forekomststi | Nøkkelord | Melding | Schema-sti |
|---|
Slik validerer du JSON mot et schema
- Lim inn schemaet i JSON Schema og dataene i JSON-dokument, eller velg et ferdig tilfelle under Eksempel.
- La Versjon (draft) stå på Automatisk ($schema) for å bruke versjonen schemaets
$schemaoppgir, eller tving draft 4, 7, 2019-09 eller 2020-12. - Valideringen kjører mens du skriver, og Valider kjører den på nytt. Formater begge rykker inn begge tekstene på nytt.
- Les resultatet: en grønn linje når dokumentet er gyldig, ellers en tabell med feil.
Feilmeldingene fra valideringsmotoren er på engelsk. Resten av grensesnittet er på norsk.
Slik leser du feiltabellen
Hver rad er én regel som feilet:
- Forekomststi er en JSON Pointer til verdien som feilet.
/roles/1er det andre elementet iroles, og(rot)er hele dokumentet. - Nøkkelord er schema-regelen som feilet:
type,required,minimum,pattern,format,additionalPropertiesog så videre. - Melding forklarer feilen, for eksempel
0 is less than 1. - Schema-sti peker på nøkkelordet inne i schemaet, som
/properties/id/minimum, slik at du raskt finner regelen.
Valideringen stopper ikke ved det første problemet: alle feil listes. Når en objektegenskap feiler, melder valideringen en oppsummering («Property “id” does not match schema») etterfulgt av den presise årsaken. Vis bare de mest spesifikke feilene skjuler slike oppsummeringer. Fjern avkrysningen for å se hele kjeden. Feil under anyOf og oneOf beholdes alltid sammen med de spesifikke feilene for hver gren, fordi de bare gir mening sammen.
Hva som støttes
- Versjoner: 4, 6 (valideres med reglene for draft 7), 7, 2019-09 og 2020-12, inkludert
$defs/definitions, lokal$ref,if/then/else,dependentRequired,dependentSchemas,prefixItems,unevaluatedPropertiesogunevaluatedItems. - Formater:
date,time,date-time,duration,email,hostname,ipv4,ipv6,uri,uri-reference,uri-template,uuid,regex,json-pointerogrelative-json-pointerkontrolleres. Ukjente formater ignoreres, slik spesifikasjonen tillater. - Referanser:
$refkan peke hvor som helst inne i schemaet, også til en$iddet selv erklærer. Eksterne schemaer lastes aldri ned, og en referanse til en annen URL meldes som uløst.
Dette verktøyet validerer dokumenter mot schemaet ditt. Det kontrollerer ikke at selve schemaet følger metaschemaet, men det advarer om ukjente type-navn som "strin" eller "int", en vanlig skrivefeil som valideringsmotorer ellers ignorerer uten lyd.
Eksemplene
- Brukerprofil (2020-12):
required, strenglengder,format: email, enenuminne iitems,uniqueItemsogadditionalProperties: false. - Produktliste med $ref (draft-07): en liste der elementene refererer til
#/definitions/product, med etpatternfor SKU og en pris medexclusiveMinimum. - Konfigurasjon med if/then (2019-09): et sertifikat som bare kreves i HTTPS-modus, en
oneOfmellom e-post og URI, og tallgrenser.
Hvert eksempel kommer med et dokument som har bevisste feil, slik at du kan se hvordan feilene ser ut.
Ofte stilte spørsmål
Lastes dataene mine opp?
Nei. Schemaet og dokumentet valideres i nettleseren din, og ingenting sendes til en server.
Hvorfor er $ref i schemaet mitt «uløst»?
Valideringen kjenner bare schemaet du limte inn. En $ref til en annen fil eller URL kan ikke følges. Kopier de refererte definisjonene inn i $defs og pek til #/$defs/… i stedet.
Hvilken versjon bør jeg bruke?
Bruk den prosjektet ditt retter seg mot, og deklarer den med $schema. For nye schemaer er 2020-12 gjeldende versjon, og OpenAPI 3.1 bruker den også.
Hvorfor avviser ikke integer 2.0?
Det gjør den ikke: JSON Schema behandler 2.0 som et heltall fordi verdien er hel. 2.5 feiler "type": "integer".
Fungerer det uten nett?
Ja. Når siden er lastet og du har kjørt en første validering (som laster valideringsmotoren), trengs ingen tilkobling.
Relaterte verktøy
- JSON-formaterer og -validator Gratis JSON-formaterer og -validator som gjør JSON ryddig, minifiserer og kontrollerer den i nettleseren din, med syntaksfeil oppgitt med linje og kolonne.
- JSONPath-tester Test JSONPath-uttrykk på din egen JSON i nettleseren. Filtre, utsnitt, rekursiv nedstigning, stier og JSON Pointers, med ferdige eksempler.
- JSON til YAML-konverterer Konverter JSON til YAML og YAML til JSON i nettleseren din, med støtte for ankere, sammenslåingsnøkler og filer med flere dokumenter. Ingenting lastes opp.