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
Webpack-konfigurationsgenerator
Skapa en webpack.config.js för webpack 5 med vanlig JavaScript, React eller Vue: TypeScript, Babel, CSS eller Sass, bilder, HtmlWebpackPlugin, en utvecklingsserver och raden för npm install.
Protocol Buffers-avkodare
Avkoda Protobuf-byte lokalt från hex, Base64, Base64URL, text eller fil, granska fälttolkningar och exportera en privat rapport.
XSD-validerare
Validera ett XML-dokument mot ett XSD-schema och rapportera element- och typavvikelser med exakta radnummer.
YAML till JSON
Omvandla YAML-konfiguration till JSON för verktyg och API:er som bara accepterar JSON. Hanterar ankare, merge-nycklar och nästlade strukturer.
XML-formaterare
Snygga till XML-dokument med konsekvent indrag och fånga formfel med exakta radnummer.
Generator för platshållarbilder
Skapa en bild på 1–4000 px med egna färger och text, ladda ned PNG eller kopiera webbadress och HTML.
Verktyget finns på andra språk
- Walidator JSON Schema [PL]
- Penentu Struktur JSON [ID]
- JSONスキーマバリデーター [JA]
- Validateur de schéma JSON [FR]
- JSON Schema-validator [NL]
- Trình xác thực JSON Schema [VI]
- เครื่องมือตรวจสอบ JSON Schema [TH]
- أداة التحقق من مخطط JSON [AR]
- JSON-Schema-Validator [DE]
- Validador de JSON Schema [ES]
- JSON 스키마 검증기 [KO]
- Validador de JSON Schema [PT]
- JSON Schema Validator [EN]
- Validator di JSON Schema [IT]
- Валидатор JSON Schema [RU]
- JSON Şeması Doğrulayıcı [TR]
- JSON 模式验证器 [ZH]