JSON-syöte

Scala-tulos

Mikä on JSON Scalaksi?

Scala käyttää case class -luokkia strukturoidulle datalle. Kun käytät JSONia Circen tai Play JSONin kanssa, tarvitset vastaavat case class -määrittelyt. JSON-määrittely määrittelee objektit, taulukot, merkkijonot, luvut ja totuusarvot—mutta Scala tarvitsee eksplisiittiset määrittelyt jokaiselle sisäkkäiselle objektille.

Tämä työkalu luo Scala case class -luokkia JSONistasi. Ota case class käyttöön muuttumattomalle datalle. Ota Option-tyypit valinnaisille kentille. Tuloste toimii Circen, Play JSONin tai json4s:n kanssa.

Muunnos tapahtuu kokonaan selaimessasi. JSONiasi ei lähetetä palvelimelle.

Milloin JSON Scalaksi on hyödyllinen

Kun rakennat Scala- tai Akka-sovelluksia, jotka käyttävät REST-rajapintoja, tarvitset tyypitettyjä case class -luokkia. Liitä esimerkkivastaus tähän, niin saat vastaavat luokat.

Miten työkalua käytetään

1

Liitä tai lataa JSON

Kopioi JSON ja liitä se vasempaan editoriin. Voit myös napsauttaa Lataa ja avata tiedoston. Käytä Esimerkki-painiketta testidataan. Aseta case class -nimi ja valinnat asetuspaneelissa.

2

Tarkista generoidut luokat

Oikea paneeli näyttää generoidut Scala case class -luokat. Sisäkkäiset objektit tulevat erillisiksi case classeiksi. Taulukoista tulee List[T]. Jos JSONin syntaksi on virheellinen, korjaa se ensin JSON-muotoilijalla tai JSON-tarkistimella.

3

Kopioi tai lataa

Käytä Kopioi tai Lataa tiedostona saadaksesi koodin. Liitä se Scala-projektiisi. Lisää Circe tai Play JSON buildiin JSONin jäsentämiseen.

Esimerkkejä JSON Scalaksi

Tässä esimerkki Scala case class -luokkien generoinnista JSON-objektista.

Esimerkki: Tilaajatietue

JSON-syöte:

Syöte

Generoitu Scala-tulos:

Tulos

Milloin JSON Scalaksi on hyödyllinen

Useimmat kehittäjät tarvitsevat tätä REST-rajapintojen integroinnissa. Liittämällä datan tähän saat case class -luokkia, joita voit käyttää Circen tai Play JSONin kanssa.

Jos sinun täytyy ensin yhdistää kaksi JSON-tiedostoa, käytä erillistä JSON-yhdistäminen -työkalua.

API-vastaukset, asetustiedostot tai dataviennit ovat usein JSONia. Käsittele niitä täällä, niin saat Scala case class -luokkia.

Usein kysyttyä

Case class vai tavallinen luokka?

Case class -luokat ovat oletuksena muuttumattomia ja tarjoavat equals, hashCode ja copy. Ne sopivat hyvin Circeen ja Play JSONiin JSONin jäsentämiseen.

Entä Option null-kentille?

Ota Option-tyypit käyttöön valinnaisille JSON-kentille. Tämä käärii nullable-kentät Option<T> -tyyppiin.

Lähetetäänkö dataani minnekään?

Ei. Generointi tapahtuu kokonaan selaimessasi. Mitään ei lähetetä palvelimelle.

Voinko käyttää Circen kanssa?

Kyllä. Generoidut case class -luokat toimivat Circe Decoder- ja Encoder -tyyppien kanssa. Lisää io.circe %% "circe-generic" automaattista derivointia varten.

Entä sisäkkäiset objektit?

Sisäkkäiset JSON-objektit tulevat erillisiksi Scala case class -luokiksi. Taulukoista tulee List[T] kyseisten case class -tyyppien mukaan.

Liittyvät työkalut

Scala JSON — katso Circe ja Play JSON. JSON — katso JSON-määrittely.