Schemas und Typgenerierung

JSON-Testdaten-GeneratorReproduzierbare Beispiele aus Schema-Regeln

Anzahl und Seed wählen; jede Instanz wird am Schema geprüft.

JSON-Testdaten-Generator

JSON Schema

Erzeugte Instanzen

Schema und Daten werden nur in diesem Browser verarbeitet, ohne Upload.

Generierungsoptionen

Jeder Datensatz entspricht einzeln dem Eingabeschema.

Schema prüfen und dann generieren.

Der JSON-Testdaten-Generator erstellt synthetische Instanzen aus einem vorhandenen Vertrag. So können Sie Tests vorbereiten, ohne Produktionsdatensätze zu kopieren. Beschreiben Sie zuerst die tatsächlich benötigten Pflichtfelder, Wertebereiche und Auswahlwerte.

Für JSON Schema Testdaten bestimmt das Schema jeden einzelnen Datensatz. Die Anzahl im Werkzeug steuert nur die äußere Sammlung. Zufällige Werte ersetzen keine Geschäftsregeln zwischen Feldern.

Warum diesen JSON-Testdaten-Generator nutzen?

Fehler erneut nachvollziehen

Speichern Sie Schema, Seed und Optionen zusammen mit Ihrem Test. Dieselbe Engine-Version erzeugt damit wieder dieselbe Sammlung. Das erleichtert reproduzierbare Fixtures und die gemeinsame Untersuchung eines fehlgeschlagenen Tests.

Ein Seed führt zu zwei übereinstimmenden Gruppen synthetischer Datensätze.

Gültige Endpunkte untersuchen

Der Grenzwertmodus bevorzugt mögliche Unter- und Obergrenzen von Zahlen, Längen und Sammlungen. Jeder Kandidat muss eine unabhängige Validierung bestehen. Nicht unterstützte Regeln führen zum Abbruch statt zu scheinbar passenden Platzhaltern.

Gültige Endpunkte passieren die Prüfung; nicht unterstützte Regeln werden gestoppt.

Einen reproduzierbaren Fall vorbereiten

01

Anzahl und Array-Länge unterscheiden

Vorgabe sind 5 Datensätze und Seed 42. Beschreibt das Wurzelschema ein Array, ist auch jeder Datensatz ein Array. Dessen Länge bestimmen minItems und maxItems innerhalb des Schemas. Seed: Ganzzahl von 0 bis 4294967295.

02

Bewusst ausführen

Normal oder Grenzwerte wählen, dann Generieren oder Ctrl/Cmd+Enter verwenden. Jede Änderung macht alte Exporte sofort ungültig. Stoppen beendet die laufende Arbeit; veraltete Worker dürfen kein neueres Ergebnis überschreiben.

03

Bericht und Ersetzung prüfen

Korrigieren Sie gemeldete Pfade vor dem erneuten Lauf. Beispiel und Leeren zeigen zuerst eine Vorschau, danach Anwenden und einmal Rückgängig. JSON herunterladen liefert die ganze Sammlung; JSONL schreibt eine vollständige Instanz je Zeile.

Was die Generierung berücksichtigt

Verschachtelte Verträge

properties, required und additionalProperties bestimmen Objekte. Ein ausgelassenes optionales Feld ist nicht dasselbe wie ein vorhandener null-Wert. Für null muss das jeweilige Schema diesen Wert zulassen.

Schnittmenge der Regeln

type-Listen, enum und const gelten gemeinsam mit benachbarten Einschränkungen. Eine Zahl aus enum wird verworfen, wenn sie beispielsweise die angegebene Obergrenze überschreitet.

Eindeutigkeit innerhalb von Arrays

uniqueItems betrifft jedes einzelne Array, nicht alle Datensätze einer Sammlung. Stringlänge, Elementanzahl und Anzahl der Objekteigenschaften werden ebenfalls berücksichtigt.

Zwei Dateistrukturen

JSON umschließt selbst einen Datensatz mit einem äußeren Array. Bei JSONL steht je Zeile ein eigenständiger JSON-Wert, auch ein Array oder primitiver Wert. Das Eingabeschema gilt für die Datensätze, nicht für die zusätzliche Exporthülle. JSON verwendet fest zwei Leerzeichen Einrückung; JSONL hält jede Instanz in einer Zeile.

Unterstützter Umfang und Grenzen

Klarer Teilumfang von draft-07
Unterstützt werden boolesche Schemas, type-Listen, enum, const, properties, required, additionalProperties, ein Schema für items, uniqueItems, Größenlimits und inklusive oder exklusive Zahlengrenzen. type ausdrücklich setzen: Eine einzelne Regel kann andere Typen zulassen. true erzeugt einfache Ganzzahlen.
Unbekannte Regeln werden abgelehnt
Referenzen, Kombinationen, Bedingungen, pattern, format, multipleOf, Tupel-items und unbekannte Schlüsselwörter werden mit Pfad gemeldet. Literale Objekte in enum und const sind Daten und werden nicht als Schemas durchsucht.
Grenzen ohne Vollständigkeitsversprechen
Grenzwerte bleiben gültige Beispiele. Der Modus erzeugt keine absichtlich ungültigen Daten und zählt nicht alle Endpunkte oder Kombinationen auf. Bei engem Wertebereich können verschiedene Seeds dieselbe Ausgabe liefern.
Begrenzter Arbeitsaufwand
1–100 Datensätze. Schema: höchstens 100000 Zeichen, AST-Tiefe 12 einschließlich properties- und enum-Containern und 2000 AST-Knoten. Erzeugte Strings: höchstens 1000 UTF-16-Codeeinheiten; Arrays und Objekte: höchstens 100 Einträge. Zusätzlich gelten Versuchs- und Operationsbudgets sowie fünf Sekunden Worker-Laufzeit. Gesamtbudget: 20000 Operationen und 1000000 Ausgabezeichen. String- und Sammlungsgrenzen gelten auch für const- und enum-Werte. Der Seed muss eine Ganzzahl von 0 bis 4294967295 sein.
Kein Beweis der Unlösbarkeit
Widersprüchliche Regeln, zu wenige verschiedene Werte oder ein erreichtes Budget können die Generierung verhindern. Ein abgebrochener Suchlauf beweist allein nicht, dass das Schema mathematisch keine gültige Instanz besitzt.
Synthetische Werte
Keine Namensdatenbank, Länderpakete, feldübergreifenden Zusammenhänge, gehostete Mock-API, URL-Importe oder Cloudspeicherung. Zahlen außerhalb der unterstützten Browsergenauigkeit werden zurückgewiesen und nicht unbemerkt gerundet. Zahlen müssen endlich sein, Ganzzahlen im sicheren JavaScript-Bereich liegen. Der Dezimalwert muss bei der Umwandlung des Zahlentokens über Number zurück in Text erhalten bleiben.

Fragen zum JSON-Testdaten-Generator

Kann ich ein JSON Schema importieren?

Ja, fügen Sie ein JSON Schema des beschriebenen draft-07-Teilumfangs ein. Ein OpenAPI-Dokument oder eine URL ist keine zulässige Eingabe. Nicht unterstützte Regeln müssen vor der Generierung angepasst werden.

Ist das eine Fake-Data-API?

Nein. Der JSON-Testdaten-Generator liefert statische Dateien oder kopierbare Werte. Er betreibt keinen REST-Endpunkt und sendet Ihr Schema nicht an einen Mock-Dienst.

Kann ich verschachtelte Objekte erzeugen?

Ja, verschachtelte Objekte und Arrays sind innerhalb der angegebenen Tiefen- und Größenlimits möglich. Das Schema gilt für jede erzeugte Wurzelinstanz einzeln.

Wie lassen sich dieselben Testdaten erneut erzeugen?

Bewahren Sie Schema, Seed, Anzahl und Modus auf. Mit derselben Engine-Version entsteht derselbe Lauf. Bei konstanten Werten muss ein anderer Seed die Ausgabe nicht ändern.

Werden die Daten im Browser erstellt?

Ja. Einlesen, Erzeugen und Prüfen erfolgen lokal nach dem Laden der Seite. Externe Referenzen werden nicht abgerufen.

Welche weitere Regel benötigen Sie?

JSON-Testdaten-Generator ausprobieren

Mit dem JSON-Testdaten-Generator können Sie zunächst eine kleine Sammlung erzeugen und dann Normal- und Grenzwertmodus für Ihren Testfall vergleichen.

Speichern Sie die Einstellungen neben dem Fixture, damit ein anderer Entwickler genau diesen Fall wiederholen kann.