JSON Schema-validator
Klistra in ett schema och ett dokument, välj utkast, så jämför validatorn dokumentet med alla nyckelord som schemat använder – type, required, enum, oneOf, $ref, if/then/else och anpassad format – och rapporterar varje överträdelse med en JSONPath-liknande pekare till exakt den felaktiga platsen.
Så validerar du mot ett schema
-
1
Klistra in schemat
JSON Schema-utkast 04, 07 eller 2020-12. Nyckelordet `$schema` (om det finns) väljer automatiskt rätt utkast.
-
2
Klistra in dokumentet
Den JSON du vill validera måste först vara giltig JSON – syntaxfel visas innan schemat utvärderas.
-
3
Validera
Varje överträdelse rapporteras med en JSON-pekare (`/user/email`) och det nyckelord som misslyckades (`format`, `required` osv.).
-
4
Åtgärda och validera på nytt
Redigera valfri sida så uppdateras statusen i realtid.
Nyckelord som stöds
Kärna: type, enum, const, multipleOf, maximum, minimum, exclusiveMaximum, exclusiveMinimum, maxLength, minLength, pattern, maxItems, minItems, uniqueItems, maxContains, minContains, maxProperties, minProperties, required, dependentRequired.
Sammansättning: allOf, anyOf, oneOf, not.
Applikatorer: properties, patternProperties, additionalProperties, items, prefixItems, contains, propertyNames.
Villkorliga: if, then, else, dependentSchemas.
Referenser: $ref, $defs, $id, $anchor.
Format (med validering när det är aktiverat): date-time, date, time, duration, email, hostname, ipv4, ipv6, uri, uuid, regex.
Felutdata
FAIL /user/email format "not-an-email" is not a valid "email"
FAIL /user/age minimum -3 is less than the minimum 0
FAIL /orders/0/total type "42" is not of type "number"
FAIL / required missing required property "shippingAddress"
Varje fel anger både sökvägen och det nyckelord som misslyckades, vilket gör det enkelt att hitta i din editor.
Skillnader mellan utkast som ställer till problem
| Nyckelord | Utkast 04 | Utkast 07 | Utkast 2020-12 |
|---|---|---|---|
id mot $id |
id |
$id |
$id |
exclusiveMaximum som bool |
Ja | Tal | Tal |
items-arraysyntax |
items |
items |
prefixItems |
$ref tillåter syskonnyckelord |
Nej | Nej | Ja |
Ställ in rätt utkast; att validera ett schema med utkast 04 som 2020-12 kommer att feltolka id och en del andra finesser.
Typiska arbetsflöden
- Testning av API-kontrakt: kör det genererade/uppdaterade OpenAPI-schemat mot verkliga exempelsvar innan en driftsättning.
- Härdning av konfiguration: validera varje YAML/JSON-konfiguration i CI mot ett schema innan sammanslagning.
- Datainmatning: avvisa nyttolaster som inte matchar den förväntade formen tidigt, med ett tydligt felmeddelande.
Vanliga misstag
- Att glömma att framtvinga
format. Som standard behandlar de flesta validatorer okända format som enbart annotering. Aktivera strikt formatvalidering för att faktiskt avvisa ogiltiga e-postadresser och datum. - Överanvändning av
oneOf. Om två grenar avoneOföverlappar misslyckas dokumentet (det måste matcha exakt en). AnvändanyOfeller diskriminatormönster. - Snäva scheman med
additionalProperties: false. Att lägga till ett nytt valfritt fält blir en bakåtinkompatibel ändring. Utelämna det om du inte verkligen vill ha ett slutet objekt.
Vanliga frågor
Ja. Utkast 2020-12, 07 och 04 stöds alla. Validatorn läser nyckelordet $schema från ditt dokument för att välja rätt, eller faller tillbaka på väljaren i gränssnittet.
Standardformat (email, date-time, uuid, ipv4 osv.) valideras när strikt formatvalidering är aktiverad. Anpassade format som deklareras i ditt schema behandlas som enbart annotering, om du inte anger en regex med pattern.
Interna referenser (#/$defs/foo) löses upp automatiskt. Externa HTTP-referenser hämtas inte som standard – av säkerhetsskäl. Infoga dina externa referenser inline först, eller använd ett dedikerat verktyg som stöder uppslag av $ref på distans.
Ja. Både schemat och dokumentet förblir lokala. Inklistrat innehåll laddas aldrig upp – säkert för interna API-kontrakt och känsliga data.
Relaterade verktyg
ASCII-tabellreferens
Full ASCII-tabell från 0 till 127 med decimal-, hex-, oktal- och binärvärden samt notation för numeriska HTML-referenser, inklusive NUL, LF och DEL.
HTML-teckenreferens
En sökbar lista över HTML-entiteter med deras namngivna och numeriska koder samt kopiering med ett klick för specialtecken och symboler.
Referens för kortkommandon
Sök dokumenterade standardkommandon för VS Code, Chrome och Bash med GNU Readline i macOS, Windows och Linux.
HTML-formaterare
Formatera HTML lokalt i webbläsaren med indrag på två eller fyra blanksteg. HTML laddas inte upp eller valideras.
E-postvalidator
Validera en e-postadress: RFC 5322-syntaxkontroll, live-slagning av MX-poster samt detaljer om lokal del, domän och längd. Ingen e-post skickas.
EditorConfig-generator
Generera en .editorconfig-fil med dina regler för indragsstil och -storlek, radslut, teckenuppsättning och blanksteg för enhetlig formatering i alla IDE:er och editorer.
Verktyget finns på andra språk
- Validateur de schéma JSON [FR]
- JSON Schema-validator [NL]
- เครื่องมือตรวจสอบ JSON Schema [TH]
- Trình xác thực JSON Schema [VI]
- أداة التحقق من مخطط JSON [AR]
- Penentu Struktur JSON [ID]
- Validador de JSON Schema [ES]
- JSONスキーマバリデーター [JA]
- JSON 스키마 검증기 [KO]
- JSON-Schema-Validator [DE]
- Walidator JSON Schema [PL]
- Validador de JSON Schema [PT]
- Валидатор JSON Schema [RU]
- JSON Şeması Doğrulayıcı [TR]
- JSON 模式验证器 [ZH]
- JSON Schema Validator [EN]
- Validator di JSON Schema [IT]