JSON‑zu‑Scala‑Generator

JSON Eingabe

Editor wird geladen…

Generierter Scala

Configuration

Geben Sie JSON‑Daten ein, um Scala‑Case‑Classes zu generieren

Immutable Case‑Classes mit Framework‑Unterstützung

So konvertieren Sie JSON in Scala – Schritt-für-Schritt-Anleitung

Verwenden Sie diesen JSON-zu-Scala-Generator, um Scala-Fallklassen aus JSON-Beispielen für JVM-Dienste und Datenpipelines zu erstellen.

  1. Schritt 1 – Fügen Sie ein JSON-Beispiel ein

    • Fügen Sie ein repräsentatives JSON-Objekt oder -Array in den linken Editor ein.
    • Schließen Sie verschachtelte Objekte, Arrays und Nullable-Felder ein, damit Typen korrekt abgeleitet werden.
    • Verwenden Sie Import, um JSON aus einer Datei, URL oder Beispieldaten zu laden.
  2. Schritt 2 – Wählen Sie Scala-Modelloptionen

    • Legen Sie einen Stamm Class Name für die generierte Fallklasse fest.
    • Entscheiden Sie, wie optionale Felder dargestellt werden (z. B. Option[String]).
    • Bestätigen Sie, wie verschachtelte Objekte und Arrays verschachtelten Fallklassen und List/Seq zugeordnet werden.
  3. Schritt 3 – Überprüfen Sie den generierten Code

    • Überprüfen Sie Feldnamen, Typen und die Modellierung von Arrays/Objekten.
    • Passen Sie Optionen wie Root Type Name, Nullbehandlung und Frameworks an, falls verfügbar.
    • Wenn ein Feld falsch abgeleitet wird, optimieren Sie Ihren Beispiel-JSON und generieren Sie ihn neu.
  4. Schritt 4 – Verwenden Sie die Fallklassen in Scala

    • Fügen Sie die Fallklassen in Ihre Projektquellen ein.
    • Deserialisieren Sie JSON mithilfe Ihrer bevorzugten JSON-Bibliothek in Ihre Modelle.
    • Fügen Sie eine Validierung für erforderliche Felder hinzu, wenn Ihre Geschäftslogik davon abhängt.
  5. Schritt 5 – Kopieren oder Herunterladen

    • Kopieren Sie die Ausgabe in Ihr Projekt oder laden Sie sie als Datei herunter.
    • Führen Sie Ihren Formatierer/Linter entsprechend Ihrem Codestil aus.
    • Fügen Sie JSON-Parsing-/Serialisierungsbibliotheken hinzu, wenn Ihre Sprache dies erfordert.

Schnelle Tipps

  • Bevorzugen Sie Option für fehlende/null Felder anstelle von Sentinel-Werten.
  • Halten Sie die Modelle an Ihren API-Verträgen ausgerichtet, um Laufzeitinkongruenzen zu vermeiden.
  • Generieren Sie ein JSON-Schema, wenn Sie dienstübergreifende gemeinsame Verträge benötigen.
Beispielausgabe (vereinfacht)
// JSON-Eingabe
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// Generated Scala models (simplified)
final case class Metadata(plan: String)

final case class Root(
  id: Long,
  name: String,
  email: Option[String],
  active: Boolean,
  roles: List[String],
  metadata: Metadata,
  createdAt: String,
  score: Double,
  notes: Option[Any]
)

Verwandte JSON- und Scala-Tools

Entdecken Sie weitere JSON- und Schema-Tools, die zusammen mit diesem JSON-zu-Scala-Generator hervorragend funktionieren.

Häufig gestellte Fragen

Welche Scala‑Features werden unterstützt?

Der Generator erstellt Scala‑Case‑Classes mit unveränderlichen Feldern, unterstützt Circe und Play JSON für Serialisierung und folgt Scala‑Namenskonventionen mit passender Paketstruktur.

Kann ich Circe‑kompatible Klassen generieren?

Ja! Wählen Sie „Circe“, um Case‑Classes mit automatischer Codec‑Ableitung über Circes generische (semi‑)automatische Derivation zu erzeugen.

Wie funktioniert die Play‑JSON‑Integration?

Wenn Play JSON ausgewählt ist, fügt der Generator implizite Format‑Instanzen hinzu – für automatische JSON‑Serialisierung/Deserialisierung in Play Framework.

Was ist mit Immutability und funktionaler Programmierung?

Case‑Classes sind standardmäßig immutable, unterstützen Pattern Matching und bringen automatische equals/hashCode/toString‑Methoden mit – passend zu funktionalen Prinzipien.

JSON‑zu‑Scala‑Generator | JSONSwiss