È facile iniziare ad analizzare e generare JSON in Ruby con il jSON gemma. Fornisce un'API per l'analisi di JSON dal testo e la generazione di testo JSON da oggetti Ruby arbitrari. È facilmente la libreria JSON più utilizzata in Ruby.
Su Ruby 1.8.7, dovrai installare un gioiello. Tuttavia, in Ruby 1.9.2, il jSON gem è in bundle con la distribuzione core di Ruby. Quindi, se stai usando 1.9.2, probabilmente sei pronto. Se sei su 1.8.7, dovrai installare un gioiello.
Prima di installare la gemma JSON, renditi conto che questa gemma è distribuita in due varianti. Basta installare questo gioiello con gem install json installerà la variante di estensione C. Ciò richiede l'installazione di un compilatore C e potrebbe non essere disponibile o appropriato su tutti i sistemi. Tuttavia, se è possibile installare questa versione, è necessario.
Se non riesci a installare la versione con estensione C, dovresti gem install json_pure anziché. Questa è la stessa gemma implementata in puro rubino. Dovrebbe funzionare ovunque sia in esecuzione il codice Ruby, su tutte le piattaforme e su una varietà di interpreti. Tuttavia, è notevolmente più lento della versione con estensione C..
Una volta installato, ci sono alcuni modi per richiedere questo gioiello. UN richiedi "json" (dopo un prerequisito richiedono "rubygems" se necessario) richiederà qualunque variante sia disponibile e preferirà la variante con estensione C se entrambe sono installate. UN richiede "json / pure" richiederà esplicitamente la variante pura e a richiede "json / ext" richiederà esplicitamente la variante di estensione C..
Prima di iniziare, definiamo alcuni semplici JSON da analizzare. JSON è in genere generato da applicazioni Web e può essere piuttosto scoraggiante, con gerarchie profonde che sono difficili da navigare. Inizieremo con qualcosa di semplice. Il livello superiore di questo documento è un hash, i primi due tasti contengono stringhe e gli ultimi due tasti contengono array di stringhe.
Quindi l'analisi è abbastanza semplice. Supponendo che questo JSON sia archiviato in un file chiamato employees.json, puoi analizzarlo in un oggetto Ruby in questo modo.
E l'output di questo programma. Nota che se stai eseguendo questo programma su Ruby 1.8.7, l'ordine in cui le chiavi vengono recuperate dall'hash non è necessariamente lo stesso ordine in cui sono state inserite. Quindi il tuo output potrebbe apparire fuori servizio.
Il empls l'oggetto stesso è solo un hash. Niente di speciale. Ha 4 chiavi, proprio come il documento JSON. Due delle chiavi sono stringhe e due sono matrici di stringhe. Nessuna sorpresa, il JSON è stato trascritto fedelmente in oggetti Ruby per la tua lettura.
E questo è tutto ciò che devi sapere sull'analisi di JSON. Ci sono alcuni problemi che emergono, ma quelli saranno trattati in un prossimo articolo. Per quasi tutti i casi, è sufficiente leggere un documento JSON da un file o su HTTP e inviarlo a JSON.parse.