JSON Schema-validator

Valideer JSON-data tegen JSON Schema-definities. Krijg gedetailleerde foutrapporten met paden. Alle verwerking gebeurt in uw browser.

Directe validatie Foutdetails Client-side verwerking

Hoe gebruik ik de JSON Schema-validator

1

Schema invoeren

Definieer uw JSON Schema dat de verwachte structuur beschrijft.

2

Data invoeren

Plak de JSON-data die u wilt valideren tegen het schema.

3

Valideren

Klik op Valideren en bekijk de resultaten op fouten.

Wat is JSON Schema?

JSON Schema is een woordenschat waarmee u JSON-documenten kunt annoteren en valideren. Het biedt een contract voor welke JSON-data een bepaalde applicatie vereist en hoe ermee te werken. JSON Schema wordt gebruikt voor validatie, documentatie en het genereren van mock-data.

Belangrijkste functies

Typevalidatie

Valideer typen: string, number, integer, boolean, array, object, null

Beperkingen

Min/max-lengte, bereik, patroon, verplichte velden en meer

Structuurdefinitie

Definieer geneste objecten, arrays en complexe datastructuren

Veelgestelde vragen

Welke versie van JSON Schema wordt ondersteund?

Deze tool ondersteunt JSON Schema Draft-07, Draft 2019-09 en Draft 2020-12 via de Ajv-bibliotheek. De meest voorkomende schemafuncties worden ondersteund.

Kan ik geneste objecten valideren?

Ja! JSON Schema ondersteunt diep geneste objecten en arrays. U kunt properties en items op elk nestingsniveau definiëren, met eigen validatieregels per veld.

Wat gebeurt er als mijn schema ongeldig is?

De tool valideert eerst of uw schema zelf een geldig JSON Schema is. Bevat het schema fouten, dan worden die gemeld voordat de data wordt gevalideerd.

Welke JSON Schema-keywords worden het meest gebruikt?

type (string, number, object, array, boolean, null), properties met geneste schema's, required dat verplichte sleutels somt, enum voor vaste waardeverzamelingen, pattern voor regex-gebonden strings, en de bereikcontroles minimum/maximum en minLength/maxLength. additionalProperties: false trekt objecten strak aan tegen extra sleutels. Samen dekken ze het leeuwendeel van de API-validatieregels.

Hoe gedragen format-keywords zoals date-time en email zich?

In modern JSON Schema is format standaard een annotatie, geen automatische assertie - validators handhaven het alleen wanneer daarvoor geconfigureerd, wat de 2020-12-specificatie expliciet maakte met een aparte format-assertion-woordenschat. Gebruik pattern of een custom keyword wanneer handhaving gegarandeerd moet zijn, en behandel format anders als interoperabiliteits-metadata.

Wat is $ref en hoe werkt schema-hergebruik?

$ref dat naar #/$defs/address wijst, refereert een schemafragment onder $defs en valideert ertegen waar het ook gebruikt wordt - dat is het deduplicatiemechanisme. Draft 2020-12 doopte de oudere definitions om tot $defs en formaliseerde $dynamicRef voor recursieve structuren zoals commentbomen. Referenties kunnen ook naar externe documenten wijzen, hoewel lokaal bundelen gebruikelijker is.

Waarin verschillen oneOf, anyOf en allOf?

allOf vereist dat elk subschema valideert - een doorsnede, gebruikt om een basisschema met extra beperkingen samen te stellen. anyOf vereist er minstens één - een vereniging, gebruikt voor polymorfe payloads. oneOf vereist er precies één; valideren twee of nul subschema's, dan faalt het, wat strenger is dan mensen verwachten en de gebruikelijke oorzaak van verrassende fouten bij overlappende schema's.

Wat is er veranderd tussen draft-07 en 2020-12?

2020-12 splitste de specificatie in apart onderhandelbare vocabulaires (validation, annotation, format-assertion), doopte definitions om tot $defs, vereenvoudigde exclusiveMinimum tot een gewoon getal, en verving het oudere items-keyword door prefixItems plus items. De meeste tooling ondersteunt beide; draft-07 is nog steeds het meest ingezet, maar 2020-12 is de huidige gepubliceerde standaard.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}