Input JSON

Output Scala

Cos'è JSON a Scala?

Scala utilizza case class per i dati strutturati. Quando si usa JSON con Circe o Play JSON, sono necessarie definizioni di case class corrispondenti. La specifica JSON definisce oggetti, array, stringhe, numeri e booleani, ma Scala richiede definizioni esplicite per ogni oggetto annidato.

Questo strumento genera case class Scala da JSON. Abilita Case Class per i dati immutabili. Abilita i tipi Option per i campi opzionali. L'output funziona con Circe, Play JSON o json4s.

La conversione viene eseguita interamente nel browser. Il JSON non viene inviato ad alcun server.

Quando è utile JSON a Scala

Quando si sviluppano app Scala o Akka che utilizzano API REST e si hanno bisogno di case class tipizzate. Incolla una risposta di esempio qui per generare le classi corrispondenti.

Come usare questo strumento

1

Incolla o carica JSON

Copia il JSON e incollalo nell'editor a sinistra. Puoi anche cliccare su Carica per caricare un file. Usa il pulsante Esempio per dati di prova. Imposta il nome della case class e le opzioni nel pannello impostazioni.

2

Esamina le classi generate

Il pannello a destra mostra le case class Scala generate. Gli oggetti annidati diventano case class separate. Gli array diventano <code>List[T]</code>. Se la sintassi JSON non è corretta, usa prima il Formattatore JSON o il Validatore JSON per correggerla.

3

Copia o scarica

Usa Copia o Scarica per ottenere il codice. Incollalo nel tuo progetto Scala. Aggiungi Circe o Play JSON alla build per il parsing JSON.

Esempi JSON a Scala

Esempio di generazione di case class Scala da un oggetto JSON.

Esempio: Record sottoscrittore

Input JSON:

Input

Output Scala generato:

Output

Quando è utile JSON a Scala

La maggior parte degli sviluppatori ne ha bisogno durante l'integrazione di API REST. Incolla qui e ottieni case class da usare con Circe o Play JSON.

Se devi prima unire due file JSON, c'è uno strumento separato per Unione JSON.

Le risposte API, i file di configurazione o le esportazioni di dati sono spesso in JSON. Eseguilo qui per generare case class Scala.

Domande frequenti

Case class vs classe normale?

Le case class sono immutabili per default e forniscono equals, hashCode, copy. Funzionano bene con Circe e Play JSON per il parsing JSON.

Option per i campi null?

Abilita i tipi Option per i campi JSON opzionali. Avvolge i campi nullable in Option[T].

I dati vengono inviati da qualche parte?

No. La generazione viene eseguita interamente nel browser. I dati non vengono inviati ad alcun server.

Può essere usato con Circe?

Sì. Le case class generate funzionano con Decoder e Encoder di Circe. Aggiungi io.circe %% "circe-generic" per la derivazione automatica.

Cosa succede agli oggetti annidati?

Gli oggetti JSON annidati diventano case class Scala separate. Gli array diventano List[T] del tipo di case class corrispondente.

Strumenti correlati

Scala JSON consulta Circe e Play JSON. JSON consulta la specifica JSON.