JSON-invoer

Scala-uitvoer

Wat is JSON naar Scala?

Scala gebruikt case classes voor gestructureerde data. Bij het consumeren van JSON met Circe of Play JSON heb je passende case class-definities nodig.

Deze tool genereert Scala case classes uit je JSON. Activeer Case class voor immutable data. Activeer Option types voor optionele velden. De uitvoer werkt met Circe, Play JSON of json4s.

De conversie draait volledig in je browser. Je JSON wordt nooit naar een server gestuurd.

Wanneer JSON naar Scala helpt

Bij het ontwikkelen van Scala- of Akka-apps die REST-API's consumeren heb je getypeerde case classes nodig.

Hoe deze tool te gebruiken

1

JSON plakken of uploaden

Kopieer je JSON en plak het in de linker editor. Je kunt ook op Uploaden klikken om een bestand te laden. Gebruik de Voorbeeld-knop voor voorbeelddata. Stel de case class-naam en opties in het configuratiepaneel in.

2

Gegenereerde classes controleren

Het rechterpaneel toont de gegenereerde Scala case classes. Geneste objecten worden aparte case classes. Arrays worden <code>List[T]</code>. Bij ongeldige JSON-syntax: eerst de JSON Formatter of de JSON Validator gebruiken.

3

Kopiëren of downloaden

Gebruik Kopiëren of Downloaden om de code te krijgen. Plak het in je Scala-project. Voeg Circe of Play JSON toe aan je build voor JSON-parsing.

JSON naar Scala-voorbeelden

Hier een voorbeeld van het genereren van Scala case classes uit een JSON-object.

Voorbeeld: Abonnee-record

JSON-invoer:

Invoer

Gegenereerde Scala-uitvoer:

Uitvoer

Wanneer JSON naar Scala helpt

De meeste ontwikkelaars hebben dit nodig bij de integratie met REST-API's.

Als je eerst twee JSON-bestanden moet samenvoegen: er is de tool JSON Samenvoegen voor.

API-responses, configuratiebestanden of data-exporten zijn vaak JSON. Deze hier doorheen halen helpt Scala case classes te genereren.

Veelgestelde vragen

Case class vs reguliere class?

Case classes zijn standaard immutable en bieden equals, hashCode en copy. Ze werken goed met Circe en Play JSON voor JSON-parsing.

Wat met Option voor null-velden?

Activeer Option types voor optionele JSON-velden. Dit wikkelt nullable velden in Option<T>.

Worden mijn gegevens ergens naartoe gestuurd?

Nee. De generatie draait volledig in je browser.

Kan ik dit met Circe gebruiken?

Ja. De gegenereerde case classes werken met Circes Decoder en Encoder. Voeg io.circe %% "circe-generic" toe voor automatische afleiding.

Wat met geneste objecten?

Geneste JSON-objecten worden aparte Scala case classes. Arrays worden List[T] van die case class-types.

Gerelateerde tools

Voor Scala JSON: Circe en Play JSON. Voor JSON: JSON-specificatie.