JSON-Schema-Validator

JSON-Daten gegen JSON-Schema-Definitionen validieren. Detaillierte Fehlerberichte mit Pfaden erhalten. Die gesamte Verarbeitung erfolgt in Ihrem Browser.

Sofortige Validierung Fehlerdetails Clientseitige Verarbeitung

Verwendung des JSON-Schema-Validators

1

Schema eingeben

Definieren Sie Ihr JSON-Schema, das die erwartete Struktur beschreibt.

2

Daten eingeben

Fügen Sie die JSON-Daten ein, die Sie gegen das Schema validieren möchten.

3

Validieren

Klicken Sie auf Validieren und überprüfen Sie die Ergebnisse auf eventuelle Fehler.

Was ist JSON-Schema?

JSON-Schema ist ein Vokabular, das es Ihnen ermöglicht, JSON-Dokumente zu annotieren und zu validieren. Es bietet einen Vertrag dafür, welche JSON-Daten für eine bestimmte Anwendung erforderlich sind und wie damit interagiert werden soll. JSON-Schema wird für Validierung, Dokumentation und die Generierung von Testdaten verwendet.

Wichtige Eigenschaften

Typ-Validierung

Typen validieren: Zeichenkette, Zahl, Ganzzahl, Boolescher Wert, Array, Objekt, Null

Einschränkungen

Min./Max.-Länge, Bereich, Muster, Pflichtfelder und mehr

Strukturdefinition

Verschachtelte Objekte, Arrays und komplexe Datenstrukturen definieren

Häufig gestellte Fragen

Welche JSON-Schema-Version wird unterstützt?

Dieses Tool unterstützt JSON-Schema Draft-07, Draft 2019-09 und Draft 2020-12 über die Ajv-Bibliothek. Die meisten gängigen Schema-Funktionen werden unterstützt.

Kann ich verschachtelte Objekte validieren?

Ja! JSON-Schema unterstützt tief verschachtelte Objekte und Arrays. Sie können Eigenschaften und Elemente auf jeder Verschachtelungsebene mit individuellen Validierungsregeln für jedes Feld definieren.

Was passiert, wenn mein Schema ungültig ist?

Das Tool validiert zuerst, dass Ihr Schema selbst gültiges JSON-Schema ist. Wenn das Schema Fehler aufweist, werden diese gemeldet, bevor die Daten validiert werden.

Welche JSON-Schema-Schlüsselwörter werden am häufigsten verwendet?

type (string, number, object, array, boolean, null), properties mit verschachtelten Schemata, required mit den Pflichtschlüsseln, enum für feste Wertmengen, pattern für Regex-beschränkte Zeichenketten sowie die Bereichsprüfungen minimum/maximum und minLength/maxLength. additionalProperties: false schränkt Objekte gegenüber zusätzlichen Schlüsseln ein. Zusammen decken sie den Großteil der API-Validierungsregeln ab.

Wie verhalten sich die format-Schlüsselwörter date-time und email?

Im modernen JSON Schema ist format standardmäßig eine Annotation und keine automatische Assertion - Validatoren erzwingen sie nur, wenn sie entsprechend konfiguriert sind, was die 2020-12-Spezifikation mit einem separaten format-assertion-Vokabular explizit festgelegt hat. Muss die Erzwingung garantiert sein, verwenden Sie pattern oder ein eigenes Schlüsselwort; andernfalls behandeln Sie format als Metadaten für Interoperabilität.

Was ist $ref und wie funktioniert die Wiederverwendung von Schemata?

Ein $ref, der auf #/$defs/address zeigt, referenziert ein Schema-Fragment unter $defs und validiert an jeder Verwendungsstelle dagegen - der Mechanismus zur Deduplizierung. Draft 2020-12 benannte das ältere definitions in $defs um und formalisierte $dynamicRef für rekursive Strukturen wie Kommentarbäume. Referenzen können auch auf externe Dokumente verweisen, wobei lokales Bundling üblicher ist.

Wie unterscheiden sich oneOf, anyOf und allOf?

allOf verlangt, dass jedes Subschema validiert - eine Schnittmenge, mit der sich ein Basisschema um zusätzliche Einschränkungen erweitern lässt. anyOf verlangt mindestens eines - eine Vereinigung, üblich für polymorphe Payloads. oneOf verlangt genau eines; die Validierung von zwei oder null Subschemata schlägt fehl, was strenger ist, als die meisten erwarten, und die übliche Ursache für überraschende Fehler bei überlappenden Schemata.

Was hat sich zwischen draft-07 und 2020-12 geändert?

2020-12 teilte die Spezifikation in separat aushandelbare Vokabulare auf (validation, annotation, format-assertion), benannte definitions in $defs um, vereinfachte exclusiveMinimum zu einer reinen Zahl und ersetzte das ältere Schlüsselwort items durch prefixItems plus items. Die meisten Tools unterstützen beides; draft-07 ist weiterhin am weitesten verbreitet, aber 2020-12 ist der aktuell veröffentlichte Standard.

{-- * 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 --}}