Det är lätt att hoppa till att analysera och generera JSON i Ruby med json pärla. Det tillhandahåller ett API för att analysera JSON från text samt generera JSON-text från godtyckliga Ruby-objekt. Det är lätt det mest använda JSON-biblioteket i Ruby.
Installera JSON Gem
På Ruby 1.8.7 måste du installera en pärla. I Ruby 1.9.2, emellertid, json pärla ingår i kärnan Ruby distribution. Så om du använder 1.9.2 är du förmodligen helt klar. Om du är på 1.8.7 måste du installera en pärla.
Innan du installerar JSON-pärla ska du först inse att denna pärla distribueras i två varianter. Helt enkelt installera denna pärla med gem install json kommer att installera C-förlängningsvarianten. Detta kräver a C-kompilator att installera och kanske inte är tillgängligt eller lämpligt på alla system. Men om du kan installera den här versionen, bör du göra det.
Om du inte kan installera C-tilläggsversionen bör du göra det gem install json_pure istället. Detta är samma pärla som implementeras i ren Ruby. Det bör köras överallt som Rubin-koden körs, på alla plattformar och på olika tolkar. Men det är betydligt långsammare än C-tilläggsversionen.
När den har installerats finns det några sätt att kräva denna pärla. EN kräver "json" (efter en förutsättning kräver "rubygems" om det behövs) kommer att kräva vilken variant som är tillgänglig och föredrar C-förlängningsvarianten om båda är installerade. EN kräver "json / pure" kommer uttryckligen att kräva den rena varianten, och kräver 'json / ext' kräver uttryckligen C-förlängningsvarianten.
Analysera JSON
Innan vi börjar, låt oss definiera några enkla JSON att analysera. JSON genereras vanligtvis av webbapplikationer och kan vara ganska skrämmande med djupa hierarkier som är svåra att navigera. Vi börjar med något enkelt. Den översta nivån i detta dokument är en hash, de två första tangenterna håller strängar och de två senaste knapparna har matriser av strängar.
Så att analysera detta är ganska enkelt. Förutsatt att JSON lagras i en fil som heter employees.json, kan du analysera detta till ett Ruby-objekt som så.
Och programmets utgång. Observera att om du kör detta program på Ruby 1.8.7, är ordningen som nycklarna hämtas från hash inte nödvändigtvis samma ordning som de är infogade. Så din utgång kan vara felaktig.
De empls objektet i sig är bara en hash. Inget speciellt med det. Den har fyra nycklar, precis som JSON-dokumentet hade. Två av nycklarna är strängar, och två är matriser av strängar. Inga överraskningar, JSON transkriberades troget i Ruby-objekt för din granskning.
Och det handlar om allt du behöver veta om att analysera JSON. Det finns några frågor som kommer upp, men de kommer att behandlas i en senare artikel. För nästan alla fall läser du helt enkelt ett JSON-dokument från en fil eller via HTTP och matar det till JSON.parse.