JSON → Scala 3 & 2

JSON to Scala 3 & Scala 2 Case Class Generator

Convierte cargas útiles JSON en case classes fuertemente tipadas para Scala con derivación automática de códecs para Circe, Play JSON o zio-json.

Preajustes:
Root:
Package:
5 Clases32 CamposProfundidad: 2
Entrada
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
Campos
Nivel 2
Max AST Hierarchy Depth

Ejecución Local de Conocimiento Cero

Todo el procesamiento, análisis y generación de código se ejecutan estrictamente en la memoria del navegador. Cero subidas a servidores externos.

Motor Reactivo de Submilisegundos

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

Production Ready Export

Clean, optimized output formats ready for immediate deployment.

Referencia técnica y guía de arquitectura

Guía de Desarrollo: Generador de Case Classes de JSON a Scala 3 y 2 — Guía de referencia

Convierte cargas útiles JSON en case classes fuertemente tipadas para Scala con derivación automática de códecs para Circe, Play JSON o zio-json.

Parámetros clave y controles

Versión de Scala ObjetivoEnum (Scala 3 | Scala 2.13)

Define la sintaxis generada: cláusulas 'derives' modernas en Scala 3 o implicits en companion objects para Scala 2.13.

Por defecto: Scala 3
Biblioteca de Códecs JSONEnum (Circe | Play JSON | zio-json | None)

Librería utilizada para sintetizar decodificadores y codificadores (Codecs, Decoders, Encoders).

Por defecto: Circe
Nombre de la Clase RaízString

Identificador para la case class principal que representa el objeto raíz JSON.

Por defecto: RootResponse
Gestión de Nulls y Campos OpcionalesEnum (Option[T] | Strict T)

Envuelve propiedades que pueden ser nulas o faltantes en Scala Option[T] para prevenir excepciones en tiempo de ejecución.

Por defecto: Option[T]

Consejos profesionales y mejores prácticas

Uso de la Cláusula 'derives' en Scala 3

Al seleccionar Scala 3 con zio-json o Circe, las clases incluyen 'derives JsonCodec', reduciendo a cero el código repetitivo de companion objects.

Escape Seguro de Palabras Reservadas

Claves como 'type', 'val' o 'match' se escapan automáticamente con comillas invertidas (por ejemplo, `type`: String) garantizando código compilable.

Modularización de Estructuras Anidadas

Los objetos anidados se descomponen en modelos independientes con nombres descriptivos, organizados desde las hojas hasta la raíz.

Errores comunes y solución de problemas

Arrays con Objetos Heterogéneos

Cuando los elementos de un array poseen claves distintas, el generador unifica todos los campos y marca los ausentes como Option[T].

Nombres de Propiedades con Guiones

Atributos como 'user-id' se convierten a camelCase ('userId') y se les añade la anotación @JsonKey correspondiente según la librería elegida.

Preguntas frecuentes (FAQ)

¿Cuál es la diferencia entre la salida de Scala 3 y Scala 2?▼

Scala 3 utiliza la sintaxis concisa 'derives' y menor indentación, mientras que Scala 2.13 genera objetos complementarios con decodificadores implícitos.

¿Qué bibliotecas de JSON son compatibles?▼

Soporta de manera nativa Circe (io.circe.generic), zio-json, Play Framework JSON y case classes puras sin dependencias externas.

¿Cómo se infieren los números en tipos de Scala?▼

Los enteros se asignan a Int o Long según su magnitud; los valores decimales se mapean a Double o BigDecimal para precisión monetaria.

¿Se envían mis datos JSON a servidores externos?▼

No. Todo el análisis sintáctico y la generación de código se ejecutan 100% de forma local en el navegador del usuario.

Herramientas y utilidades relacionadas

Todas las herramientas →