JSON Schema to OpenAPI Converter - Convert JSON Schema Definitions to OpenAPI 3.0 Components
Free online tool to convert JSON Schema definitions to OpenAPI 3.0 components/schemas. Automatically rewrites $defs and $ref paths to OpenAPI format.
Wie konvertiert man JSON Schema in OpenAPI 3.0 - Schritt-fuer-Schritt-Anleitung
JSON Schema Definitionen in eine gueltige OpenAPI 3.0 components/schemas Struktur einbetten
JSON Schema einfuegen
Fuegen Sie Ihr JSON Schema (Draft-04 bis Draft-2020-12) ein. Der Konverter extrahiert Schemas aus $defs oder definitions und platziert jedes in components/schemas:
Beispiel: JSON Schema Eingabe mit $defs
Ein JSON Schema mit benannten Definitionen und $ref Verweisen:
{ "$schema": "https://json-schema.org/draft-07/schema", "title": "Product", "$defs": { "Product": { "type": "object", "required": ["id", "name"], "properties": { "id": { "type": "integer" } "name": { "$ref": "#/$defs/Name" } } } } }
Automatisch generiertes OpenAPI 3.0 YAML
Der Konverter verpackt Ihre Schemas in eine vollstaendige OpenAPI 3.0 Struktur und schreibt alle $ref-Pfade vom JSON Schema Format in das OpenAPI Format um:
Beispiel: Generierte OpenAPI 3.0 Ausgabe
Schemas unter components/schemas mit umgeschriebenen $refs:
openapi: 3.0.3 info: title: Product API version: 1.0.0 components: schemas: Product: type: object required: [id, name] properties: name: $ref: '#/components/schemas/Name'
Herunterladen, validieren und verwenden
Die Ausgabe ist eine vollstaendige OpenAPI 3.0 YAML-Spezifikation, die sofort mit jedem OpenAPI-Tool verwendet werden kann:
Was ist JSON Schema zu OpenAPI Konvertierung?
JSON Schema und OpenAPI 3.0 verwenden sehr aehnliche Schema-Sprachen - das Schema-Objekt von OpenAPI ist eine Teilmenge von JSON Schema Draft-07. Das bedeutet, dass die meisten JSON Schema Definitionen direkt in einer OpenAPI-Spezifikation verwendet werden koennen, mit nur geringfuegigen Anpassungen an Referenzpfaden und Metadatenfeldern.
Die wichtigsten Unterschiede, die dieser Konverter behandelt: JSON Schema speichert benannte Schemas unter $defs (Draft-2019-09+) oder definitions (Draft-07), waehrend OpenAPI sie unter components/schemas speichert. Dementsprechend muessen $ref-Pfade wie #/$defs/Foo in #/components/schemas/Foo umgeschrieben werden. Die Metaschema-Schluesselbegriffe $schema und $id werden ebenfalls entfernt, da sie nicht Teil des OpenAPI-Schemaobjekts sind.
Nach der Konvertierung fuegens Sie in der Regel paths, servers und security Abschnitte hinzu, um die Spezifikation zu vervollstaendigen. Der umgekehrte Vorgang - Extraktion von JSON Schema aus OpenAPI - ist ueber unseren OpenAPI zu JSON Schema Konverter verfuegbar.
Haeufig gestellte Fragen
Welche JSON Schema Versionen werden unterstuetzt?
Der Konverter unterstuetzt Draft-04, Draft-06, Draft-07, Draft-2019-09 und Draft-2020-12. Er verarbeitet sowohl definitions (aeltere Versionen) als auch $defs (neuere Versionen) als Quellen fuer benannte Schemas.
Sind alle JSON Schema Schluesselbegriffe mit OpenAPI 3.0 kompatibel?
Die meisten Kernschluesselbegriffe sind kompatibel - type, properties, required, enum, allOf, oneOf, anyOf, items und format funktionieren direkt. Nur in JSON Schema vorhandene Schluesselbegriffe wie const, contentMediaType und $anchor sind nicht Teil von OpenAPI und benoetigen nach der Konvertierung eventuell eine manuelle Bereinigung.
Was passiert mit dem Root-Schema, wenn es keine $defs hat?
Wenn das JSON Schema keine $defs oder definitions hat, wird das Root-Schema selbst in components/schemas platziert und verwendet das title-Feld als Schemaname (oder Schema, wenn kein Titel gesetzt ist).
Kann ich dies umkehren und JSON Schema aus einer OpenAPI-Spezifikation extrahieren?
Ja. Verwenden Sie unseren OpenAPI zu JSON Schema Konverter, um Komponentenschemas aus einer OpenAPI 3.0 oder Swagger 2.0 Spezifikation als eigenstaendige JSON Schema Dateien zu extrahieren.
Ist die Ausgabe eine vollstaendige, gueltige OpenAPI-Spezifikation?
Die Ausgabe enthaelt alle erforderlichen OpenAPI-Felder (openapi, info, paths), sodass sie die strukturelle Validierung besteht. Das paths-Objekt ist jedoch leer - Sie muessen Ihre API-Endpunkte manuell hinzufuegen. Fuehren Sie die Ausgabe durch unseren OpenAPI Validator, um sie zu pruefen.
Ist dieser Konverter kostenlos?
Ja, vollstaendig kostenlos ohne Einschraenkungen bei der Schemagroesse. Keine Registrierung erforderlich. Die gesamte Konvertierung laeuft in Ihrem Browser - Ihr Schema verlaesst nie Ihr Geraet.
Related Tools
OpenAPI Validator
Validate OpenAPI 3.0 and Swagger 2.0 specifications online. Check required fields, paths, operations, schemas, and security schemes with instant error reporting.
JSON to OpenAPI
Generate OpenAPI/Swagger specifications from JSON examples. Infer data types and create complete API schemas automatically.
OpenAPI Fixer
Fix broken OpenAPI and Swagger specifications automatically, repair malformed paths, schemas, $ref references, and YAML syntax errors
OpenAPI to Rust
Generate type-safe Rust API client code from OpenAPI/Swagger specifications with serde annotations.
OpenAPI to Go
Generate type-safe Go structs with JSON tags from OpenAPI 3.0 and Swagger 2.0 specifications.
OpenAPI to TypeScript
Convert OpenAPI 3.0 and Swagger 2.0 specifications to TypeScript interfaces and types. Auto-generate type-safe TypeScript from any OpenAPI schema.