JSON-syöte

Ruby-tulos

Mikä on JSON Rubyksi?

Jos rakennat Rails-API-clientiä tai Ruby-skriptiä, joka kutsuu kolmannen osapuolen palvelua, saat JSON:ia takaisin. Ja ellei halua käsitellä raakoja hashejä kaikkialla, tarvitset Ruby-luokkia asianmukaisilla attribuuttiakcessoreilla. JSON-spesifikaatio on selkeä ja yksinkertainen, mutta Ruby tarvitsee eksplisiittisiä luokkamäärittelyjä typitetyn datan käsittelyyn — tämä työkalu luo ne automaattisesti.

Tämä työkalu luo Ruby-luokkia JSONistasi. Ota attr_accessor käyttöön getter-/setter-metodeille. Tuloste käyttää snake_case-attribuuttien nimiä Ruby-käytännön mukaisesti.

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

Milloin JSON Rubyksi on hyödyllinen

Kun rakennat Rails- tai Ruby-sovelluksia, jotka käyttävät REST-rajapintoja, tarvitset tyypitettyjä 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 luokan nimi ja valinnat asetuspaneelissa.

2

Tarkista generoidut luokat

Oikea paneeli näyttää generoidut Ruby-luokat. Sisäkkäiset objektit tulevat erillisiksi luokiksi. 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 Rails- tai Ruby-projektiisi.

Esimerkkejä JSON Rubyksi

Tässä esimerkki Ruby-luokkien generoinnista JSON-objektista.

Esimerkki: Tilaajatietue

JSON-syöte:

Syöte

Generoitu Ruby-tulos:

Tulos

Milloin JSON Rubyksi on hyödyllinen

Useimmat kehittäjät tarvitsevat tätä REST-rajapintojen integroinnissa. Liittämällä datan tähän saat Ruby-luokkia, joita voit käyttää JSON.parse-kutsun 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 Ruby-luokkia.

Usein kysyttyä

Miten jäsennän JSON:in Ruby-luokkaan?

Kutsu JSON.parse(json_string) saadaksesi Hashin, sitten yhdistä avaimet luokan attribuutteihin alustajassa. Nopeampi lähestymistapa: generoi Ruby-luokka täällä — liitä JSON:isi, kopioi tulos ja lisää alustaja joka yhdistää hash-avaimet attr_accessor-kenttiin.

Mikä on attr_accessor Rubyssa?

attr_accessor luo sekä getter- että setter-metodin instanssimuuttujalle. Se on Ruby-vastine julkiselle ominaisuudelle. Käytä attr_readeria vain-luettaville tai attr_writeria vain-kirjoitettaville attribuuteille kun haluat rajoittaa pääsyä.

Miten käsitellä JSON-avainten nimeämistä Rubyssa?

Ruby-käytäntö on snake_case, mutta JSON käyttää usein camelCase:ia. Generaattori muuntaa automaattisesti snake_case:iksi. Ajonaikaisesti käytä JSON.parse(json_string, symbolize_names: true) tai kirjastoa kuten HashWithIndifferentAccess Railsissa joustavaan avainpääsyyn.

Lähetetäänkö JSON:ini palvelimelle?

Ei. Luokkien generointi toimii kokonaan selaimessasi. JSON:isi ei koskaan poistu koneeltasi.

Entä sisäkkäiset JSON-objektit?

Sisäkkäiset JSON-objektit muuttuvat erillisiksi Ruby-luokiksi. Taulukot muuttuvat näiden luokkainstanssien taulukoiksi. Voit instantioida sisäkkäisiä luokkia vanhemman luokan alustajassa mallintaaksesi JSON-rakenteen kokonaan.

Liittyvät työkalut

Ruby JSON — katso JSON. JSON — katso JSON-määrittely. Rails — katso Rails.