JSON-inndata

Scala-utdata

Hva er JSON til Scala?

Scala bruker case classes for strukturert data. Når du bruker JSON med Circe eller Play JSON, trenger du matchende case class-definisjoner. JSON-spesifikasjonen definerer objekter, tabeller, strenger, tall og boolske verdier—men Scala trenger eksplisitte definisjoner for hvert nestede objekt.

Dette verktøyet genererer Scala case classes fra JSON-en din. Aktiver case class for uforanderlig data. Aktiver Option-typer for valgfrie felt. Utdata fungerer med Circe, Play JSON eller json4s.

Konverteringen skjer helt i nettleseren din. JSON sendes aldri til en server.

Når JSON til Scala hjelper

Når du bygger Scala- eller Akka-apper som bruker REST-API-er, trenger du typede case classes. Lim inn et eksempelsvar her for å generere matchende klasser.

Slik bruker du verktøyet

1

Lim inn eller last opp JSON

Kopier JSON og lim det inn i editoren til venstre. Du kan også klikke Last opp for å åpne en fil. Bruk Eksempel for testdata. Angi case class-navn og valg i konfigurasjonspanelet.

2

Gå gjennom genererte klasser

Høyre panel viser genererte Scala case classes. Nestede objekter blir egne case classes. Tabeller blir List[T]. Hvis JSON-syntaksen er ugyldig, fiks den først med JSON-formaterer eller JSON-validator.

3

Kopier eller last ned

Bruk Kopier eller Last ned for å hente koden. Lim den inn i Scala-prosjektet ditt. Legg til Circe eller Play JSON i bygget for JSON-parsing.

Eksempler på JSON til Scala

Her er et eksempel på generering av Scala case classes fra et JSON-objekt.

Eksempel: Abonnementspost

JSON-inndata:

Inndata

Generert Scala-utdata:

Utdata

Når JSON til Scala hjelper

De fleste utviklere trenger dette ved integrasjon mot REST-API-er. Ved å lime inn her får du case classes du kan bruke med Circe eller Play JSON.

Hvis du må slå sammen to JSON-filer først, finnes det et eget JSON-sammenslåing-verktøy for det.

API-svar, konfigurasjonsfiler eller dataeksport er ofte JSON. Kjør dem gjennom her for å generere Scala case classes.

Ofte stilte spørsmål

Case class mot vanlig klasse?

Case classes er uforanderlige som standard og gir equals, hashCode og copy. De fungerer godt med Circe og Play JSON for JSON-parsing.

Hva med Option for null-felt?

Aktiver Option-typer for valgfrie JSON-felt. Dette pakker nullable felt inn i Option<T>.

Sendes dataene mine noe sted?

Nei. Generering skjer helt i nettleseren din. Ingen data sendes til servere.

Kan jeg bruke med Circe?

Ja. De genererte case classes fungerer med Circe Decoder og Encoder. Legg til io.circe %% "circe-generic" for automatisk derivasjon.

Hva med nestede objekter?

Nestede JSON-objekter blir egne Scala case classes. Tabeller blir List[T] av disse case class-typene.

Relaterte verktøy

Scala JSON — se Circe og Play JSON. JSON — se JSON-spesifikasjonen.