JSON → Scala 3 & 2

JSON to Scala 3 & Scala 2 Case Class Generator

Konvertieren Sie JSON-Nutzdaten in typsichere Scala-Case-Classes mit automatischer Ableitung von Circe-, Play JSON- oder zio-json-Codecs.

Voreinstellungen:
Root:
Package:
5 Klassen32 FelderTiefe: 2
Eingabe
package com.example.models

import java.time.Instant

import io.circe._
import io.circe.generic.semiauto._
import io.circe.syntax._

final case class Customer(
  customerId: String,
  email: String,
  fullName: String,
  loyaltyTier: String,
  registeredAt: Instant
) derives Codec.AsObject

final case class ShippingAddress(
  street: String,
  city: String,
  state: String,
  postalCode: String,
  country: String
) derives Codec.AsObject

final case class LineItem(
  sku: String,
  title: String,
  unitPrice: BigDecimal,
  quantity: Int,
  taxRate: BigDecimal,
  inStock: Boolean
) derives Codec.AsObject

final case class Payment(
  transactionRef: String,
  method: String,
  isAuthorized: Boolean,
  paidAt: Instant
) derives Codec.AsObject

final case class OrderPayload(
  orderId: String,
  orderNumber: String,
  customer: Customer,
  shippingAddress: ShippingAddress,
  lineItems: List[LineItem],
  subtotal: BigDecimal,
  taxAmount: BigDecimal,
  totalAmount: BigDecimal,
  currency: String,
  payment: Payment,
  discountCode: Option[String] = None,
  notes: String
) derives Codec.AsObject
5
Case Classes Inferred
32
Felder
Ebene 2
Max AST Hierarchy Depth

Zero-Knowledge Lokale Ausführung

Alle Datenverarbeitungen, Parsen und Generierungen laufen streng im lokalen Browserspeicher ab. Keine externen Server-Uploads.

Sub-Millisekunden AST-Engine

All data payloads remain strictly local with zero external server communication.

Production Ready Export

Clean, optimized output formats ready for immediate deployment.

Technische Referenz & Architektur-Leitfaden

JSON zu Scala 3 & Scala 2 Case Class Generator Entwickler-Handbuch — Referenz-Leitfaden

Konvertieren Sie JSON-Nutzdaten in typsichere Scala-Case-Classes mit automatischer Ableitung von Circe-, Play JSON- oder zio-json-Codecs.

Wichtige Parameter & Steuerelemente

Ziel-Scala-VersionEnum (Scala 3 | Scala 2.13)

Bestimmt die Syntaxausgabe: Scala 3 'derives'-Klauseln oder implizite Companion-Objekte für Scala 2.13.

Standard: Scala 3
JSON-Codec-BibliothekEnum (Circe | Play JSON | zio-json | None)

Auswahl des Frameworks zur Generierung von Serialisierungs- und Deserialisierungs-Codecs (Decoder/Encoder).

Standard: Circe
Name der Root-KlasseString

Bezeichner für die übergeordnete Case Class, die das JSON-Wurzelobjekt repräsentiert.

Standard: RootResponse
Null- & optionale FelderEnum (Option[T] | Strict T)

Hüllt nullable JSON-Felder oder unvollständige Array-Elemente in Scala Option[T] für typsicheren Zugriff.

Standard: Option[T]

Profi-Tipps & Best Practices

Scala 3 Derives-Klausel nutzen

Bei Scala 3 mit Circe oder zio-json generiert das Tool elegante 'derives JsonCodec'-Deklarationen, wodurch seitenlanger Boilerplate-Code für Implicits entfällt.

Escaping von Scala-Schlüsselwörtern

JSON-Attribute, die reservierten Wörtern wie 'type', 'val' oder 'object' entsprechen, werden automatisch in Backticks gefasst (z. B. `type`: String).

Rekursive Extraktion verschachtelter Modelle

Tief verschachtelte JSON-Objekte werden systematisch in separate, wiederverwendbare Case Classes aufgeteilt und hierarchisch sortiert ausgegeben.

Häufige Fallstricke & Fehlerbehebung

Inkonsistente Objekte in JSON-Arrays

Wenn Array-Einträge unterschiedliche Attribute aufweisen, führt das Tool alle Keys zusammen und deklariert fehlende Felder als Option[T].

Ungültige Zeichen im JSON-Schlüsselnamen

Schlüssel mit Bindestrichen wie 'content-type' werden in valides camelCase umgewandelt und mit den passenden @JsonKey-Annotationen versehen.

Häufig gestellte Fragen (FAQ)

Was unterscheidet den Scala 3-Code von der Scala 2-Ausgabe?▼

Scala 3 nutzt moderne 'derives'-Deklarationen ohne unnötigen Boilerplate-Code, während Scala 2.13 Companion-Objekte mit 'implicit val'-Codecs erzeugt.

Welche JSON-Bibliotheken werden unterstützt?▼

Unterstützt werden Circe (io.circe.generic), zio-json, Play JSON (play.api.libs.json) sowie reine Standard-Case-Classes ohne externe Abhängigkeiten.

Wie werden JSON-Zahlen auf Scala-Datentypen abgebildet?▼

Ganzzahlen werden je nach Wertebereich als Int oder Long typisiert; Fließkommazahlen werden als Double oder bei hoher Präzision als BigDecimal abgebildet.

Werden vertrauliche JSON-Daten an einen Server übertragen?▼

Nein. Die Konvertierung erfolgt zu 100 % clientseitig im Webbrowser. Es werden keinerlei Daten über das Netzwerk versendet.

Verwandte Werkzeuge & Dienstprogramme

Alle Werkzeuge →