JSON Schema zu Go - Schema-Definitionen in typsichere Structs konvertieren

Typsichere Go Structs mit Validierungs-Tags aus JSON Schema-Definitionen generieren. Unterstuetzt Draft 4, 6, 7 und 2019-09.

Schritt 1

JSON Schema eingeben

Fuegen Sie Ihre JSON Schema-Definition (Draft 4, 6, 7 oder 2019-09) ein, die Ihre Datenstruktur mit Validierungsregeln beschreibt.

Beispiel: JSON Schema-Eingabe

Fuegen Sie ein JSON Schema wie dieses ein, um Go Structs zu generieren:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "id": { "type": "integer" },
    "name": { "type": "string", "minLength": 1 },
    "email": { "type": "string", "format": "email" }
  },
  "required": ["id", "name"]
}
Schritt 2

Automatische Typzuordnung

Der Konverter ordnet automatisch JSON Schema-Typen Go-Typen zu (string, int, float64, bool) und generiert verschachtelte Structs fuer Objekte.

String-Typen: JSON Schema string wird zu Go string mit Format-Unterstuetzung
Zahltypen: Integer wird zu int, number wird zu float64
Boolean-Typen: JSON Schema boolean wird zu Go bool
Objekt-Typen: Jedes Objekt wird zu einem separaten benannten Go Struct
Schritt 3

Validierungs-Tags enthalten

Generierte Go Structs enthalten Validierungs-Tags (min, max, email, regexp) kompatibel mit go-playground/validator fuer Laufzeitvalidierung.

Beispiel: Generierte Go Struct-Ausgabe

Ihr JSON Schema wird zu diesen Go Structs mit Validierungs-Tags:

package main

type Root struct {
  ID    int    `json:"id" validate:"required"`
  Name  string `json:"name" validate:"required,min=1"`
  Email string `json:"email,omitempty" validate:"email"`
}

Was ist JSON Schema zu Go Konvertierung?

Die JSON Schema zu Go Konvertierung transformiert JSON Schema-Definitionen in typsichere Go Structs mit Validierungs-Tags. Der Konverter liest die Typdefinitionen, Pflichtfelder und Validierungseinschraenkungen Ihres Schemas und produziert idiomatischen Go-Code, der sofort produktionsbereit ist.

Die generierten Structs sind kompatibel mit Go's standardmaessigem encoding/json-Paket und enthalten Validierungs-Tags fuer die Verwendung mit go-playground/validator, was Laufzeitvalidierung eingehender Daten in APIs und Microservices ermoeglichst.

Haeufig gestellte Fragen

Welche JSON Schema-Versionen werden unterstuetzt?

Der Konverter unterstuetzt JSON Schema Draft 4, 6, 7 und 2019-09. Er verarbeitet gaengige Eigenschaften wie type, required, properties, enum, format und Validierungseinschraenkungen.

Wie funktionieren Validierungs-Tags in Go?

Die generierten validate-Tags sind kompatibel mit github.com/go-playground/validator/v10. Importieren Sie das Validator-Paket und verwenden Sie es zur Laufzeitvalidierung von Struct-Instanzen.

Kann es verschachtelte Objekte und Arrays verarbeiten?

Ja! Der Konverter generiert automatisch verschachtelte Struct-Definitionen fuer Objekte und verarbeitet Arrays mit typisierten Elementen korrekt.

Was passiert mit Pflicht- vs. optionalen Feldern?

Pflichtfelder im Schema werden zu Nicht-Pointer-Typen in Go. Optionale Felder werden zu Pointern (*Typ), um zwischen Nullwerten und fehlenden Werten zu unterscheiden.

Ist dieser JSON Schema zu Go Konverter kostenlos?

Ja, vollstaendig kostenlos ohne Einschraenkungen. Konvertieren Sie unbegrenzt Schemas in Go Structs sofort ohne Registrierung erforderlich.