Det er let at springe ind i analyse og generering JSON i Ruby med jSON perle. Det giver et API til parsing af JSON fra tekst samt generering af JSON-tekst fra vilkårlige Ruby-objekter. Det er let det mest brugte JSON-bibliotek i Ruby.
Installation af JSON Gem
På Ruby 1.8.7 skal du installere en perle. I Ruby 1.9.2 angiver imidlertid jSON perle er bundtet med kernen Ruby distribution. Så hvis du bruger 1.9.2, er du sandsynligvis klar. Hvis du er på 1.8.7, skal du installere en perle.
Før du installerer JSON-perlen, skal du først forstå, at denne perle er distribueret i to varianter. ganske enkelt installation af denne perle med perle installere json installerer C-udvidelsesvarianten. Dette kræver a C-kompilator at installere og muligvis ikke tilgængelig eller passende på alle systemer. Selvom du kan installere denne version, skal du gøre det.
Hvis du ikke kan installere C-udvidelsesversionen, skal du gøre det perleinstallation json_pure i stedet. Dette er den samme perle implementeret i ren Ruby. Det skal køre overalt, hvor Ruby-koden kører, på alle platforme og på forskellige tolke. Det er dog betydeligt langsommere end C-udvidelsesversionen.
Når den først er installeret, er der et par måder at kræve denne perle på. EN kræver 'json' (efter en forudsætning kræver 'rubygemer' om nødvendigt) kræver hvilken variant der er tilgængelig og foretrækker C-udvidelsesvarianten, hvis begge er installeret. EN kræver 'json / pure' kræver eksplicit den rene variant, og a kræver 'json / ext' kræver eksplicit C-udvidelsesvarianten.
Analyse af JSON
Før vi starter, lad os definere nogle enkle JSON til at analysere. JSON genereres typisk af webapplikationer og kan være ret skræmmende med dybe hierarkier, der er vanskelige at navigere. Vi starter med noget simpelt. Det øverste niveau i dette dokument er en hash, de første to taster holder strenge og de sidste to taster indeholder arrays af strenge.
Så parsing dette er ganske enkelt. Forudsat at denne JSON er gemt i en kaldet fil employees.json, kan du analysere dette til et Ruby-objekt som sådan.
Og dette programs output. Bemærk, at hvis du kører dette program på Ruby 1.8.7, er den rækkefølge, nøglerne hentes fra hash, ikke nødvendigvis den samme rækkefølge, som de er indsat. Så din output kan vises ude af drift.
Det empls objektet i sig selv er bare en hash. Intet særligt ved det. Det har 4 nøgler, ligesom JSON-dokumentet havde. To af nøglerne er strenge, og to er matriser af strenge. Ingen overraskelser, JSON blev trofast transkriberet i rubinobjekter for din gennemgang.
Og det handler om alt hvad du behøver at vide om at analysere JSON. Der er nogle spørgsmål, der kommer op, men de vil blive dækket i en senere artikel. For næsten hvert tilfælde skal du blot læse et JSON-dokument fra en fil eller over HTTP og tilføje det til JSON.parse.