JSON-inndata

Ruby-utdata

Hva er JSON til Ruby?

Hvis du bygger en Rails API-klient eller et Ruby-script som kaller en tredjeparts tjeneste, vil du få JSON tilbake. Og med mindre du vil navigere rå hashes overalt, trenger du Ruby-klasser med skikkelige attributt-accessorer. JSON-spesifikasjonen er klar og enkel, men Ruby trenger eksplisitte klassedefinisioner for å jobbe med typede data — dette verktøyet genererer dem automatisk for deg.

Dette verktøyet genererer Ruby-klasser fra JSON-en din. Aktiver attr_accessor for getter/setter-metoder. Utdata bruker snake_case for attributtnavn etter Ruby-konvensjoner.

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

Når JSON til Ruby hjelper

Når du bygger Rails- eller Ruby-apper som bruker REST-API-er, trenger du typede klasser. 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 klassenavn og valg i konfigurasjonspanelet.

2

Gå gjennom genererte klasser

Høyre panel viser genererte Ruby-klasser. Nestede objekter blir egne klasser. 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 Rails- eller Ruby-prosjektet ditt.

Eksempler på JSON til Ruby

Her er et eksempel på generering av Ruby-klasser fra et JSON-objekt.

Eksempel: Abonnementspost

JSON-inndata:

Inndata

Generert Ruby-utdata:

Utdata

Når JSON til Ruby hjelper

De fleste utviklere trenger dette ved integrasjon mot REST-API-er. Ved å lime inn her får du Ruby-klasser du kan bruke med JSON.parse.

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 Ruby-klasser.

Ofte stilte spørsmål

Hvordan parser jeg JSON til en Ruby-klasse?

Kall JSON.parse(json_string) for å få en Hash, og map deretter nøklene til klasse-attributtene dine i initialisereren. En raskere tilnærming: generer Ruby-klassen her — lim inn JSON-en din, kopier resultatet og legg til en initialiserer som mapper hash-nøkler til attr_accessor-felt.

Hva er attr_accessor i Ruby?

attr_accessor lager både en getter- og setter-metode for en instansvariabel. Det er Ruby-ekvivalenten til en offentlig egenskap. Bruk attr_reader for read-only eller attr_writer for write-only attributter når du vil begrense tilgangen.

Hvordan håndterer jeg JSON-nøkkelnaming i Ruby?

Ruby-konvensjon er snake_case, men JSON bruker ofte camelCase. Generatoren konverterer automatisk til snake_case. Under kjøring, bruk JSON.parse(json_string, symbolize_names: true) eller et bibliotek som HashWithIndifferentAccess i Rails for fleksibel nøkkeltilgang.

Sendes JSON-en min til en server?

Nei. Klassegenerering kjører helt i nettleseren din. JSON-en din forlater aldri maskinen din.

Hva med nestede JSON-objekter?

Nestede JSON-objekter blir separate Ruby-klasser. Arrays blir arrays av de klasse-instansene. Du kan instansiere nestede klasser i initialisereren til foreldreклassen for å fullt ut modellere JSON-strukturen.

Relaterte verktøy

Ruby JSON — se JSON. JSON — se JSON-spesifikasjonen. Rails — se Rails.