Wejście JSON

Wyjście Scala

Czym jest konwerter JSON do Scala?

Scala używa case class do danych strukturalnych. Gdy używasz JSON z Circe lub Play JSON, potrzebne są odpowiednie definicje case class. Specyfikacja JSON definiuje obiekty, tablice, ciągi znaków, liczby i wartości logiczne, ale Scala wymaga jawnych definicji dla każdego zagnieżdżonego obiektu.

To narzędzie generuje case class Scala z JSON. Włącz Case Class dla niezmiennych danych. Włącz typy Option dla pól opcjonalnych. Wyjście działa z Circe, Play JSON lub json4s.

Konwersja odbywa się w całości w przeglądarce. JSON nie jest wysyłany na żaden serwer.

Kiedy JSON do Scala jest przydatny

Gdy tworzysz aplikacje Scala lub Akka korzystające z REST API i potrzebujesz typowanych case class. Wklej przykładową odpowiedź tutaj, aby wygenerować odpowiednie klasy.

Jak używać tego narzędzia

1

Wklej lub wczytaj JSON

Skopiuj JSON i wklej go do edytora po lewej. Możesz też kliknąć Wczytaj, aby załadować plik. Użyj przycisku Przykład dla danych testowych. Ustaw nazwę case class i opcje w panelu ustawień.

2

Przejrzyj wygenerowane klasy

Panel po prawej pokazuje wygenerowane case class Scala. Zagnieżdżone obiekty stają się oddzielnymi case class. Tablice stają się List[T]. Jeśli składnia JSON jest nieprawidłowa, użyj najpierw Formatera JSON lub Walidatora JSON, aby ją poprawić.

3

Kopiuj lub pobierz

Użyj Kopiuj lub Pobierz, aby uzyskać kod. Wklej do swojego projektu Scala. Dodaj Circe lub Play JSON do buildu dla parsowania JSON.

Przykłady JSON do Scala

Przykład generowania case class Scala z obiektu JSON.

Przykład: Rekord abonenta

Wejście JSON:

Wejście

Wygenerowane wyjście Scala:

Wyjście

Kiedy JSON do Scala jest przydatny

Większość programistów potrzebuje tego podczas integracji REST API. Wklej tutaj i uzyskaj case class do użycia z Circe lub Play JSON.

Jeśli najpierw musisz scalić dwa pliki JSON, istnieje osobne narzędzie do Scalania JSON.

Odpowiedzi API, pliki konfiguracyjne lub eksporty danych są często w formacie JSON. Uruchom tutaj, aby wygenerować case class Scala.

Często zadawane pytania

Case class vs zwykła klasa?

Case class są domyślnie niemutowalne i dostarczają equals, hashCode, copy. Dobrze współpracują z Circe i Play JSON.

Option dla pól null?

Włącz typy Option dla opcjonalnych pól JSON. Opakowuje pola nullable w Option[T].

Czy dane są gdzieś wysyłane?

Nie. Generowanie odbywa się całkowicie w przeglądarce. Żadne dane nie są wysyłane na serwer.

Czy można używać z Circe?

Tak. Wygenerowane case class działają z Decoder i Encoder Circe. Dodaj io.circe %% "circe-generic" dla automatycznej derywacji.

Co dzieje się z zagnieżdżonymi obiektami?

Zagnieżdżone obiekty JSON stają się oddzielnymi Scala case class. Tablice stają się List[T] tych typów.

Powiązane narzędzia

JSON w Scala — patrz Circe i Play JSON. JSON — patrz specyfikacja JSON.