Este ușor să sari în analizarea și generarea JSON în Ruby cu ajutorul JSON bijuterie. Oferă o API pentru analizarea JSON din text, precum și generarea de text JSON din obiecte Ruby arbitrare. Este ușor cea mai folosită bibliotecă JSON din Ruby.
Pe Ruby 1.8.7, va trebui să instalați o bijuterie. Cu toate acestea, în Ruby 1.9.2, JSON bijuterie este inclusă cu distribuția de bază a rubinului. Deci, dacă utilizați 1.9.2, probabil sunteți toate setate. Dacă sunteți pe 1.8.7, va trebui să instalați o bijuterie.
Înainte de a instala gemul JSON, mai întâi conștientizează că această bijuterie este distribuită în două variante. Pur și simplu instalați această bijuterie cu gem instala json va instala varianta de extensie C. Acest lucru necesită instalarea unui compilator C și este posibil să nu fie disponibil sau adecvat pe toate sistemele. Deși dacă puteți instala această versiune, ar trebui.
Dacă nu puteți instala versiunea de extensie C, ar trebui gem instalați json_pure in schimb. Aceasta este aceeași bijuterie implementată în Rubin pur. Ar trebui să ruleze peste tot pe care rulează codul Ruby, pe toate platformele și pe o varietate de interpreți. Cu toate acestea, este considerabil mai lent decât versiunea de extensie C.
Odată instalată, există câteva moduri de a cere această bijuterie. A necesita 'json' (după o condiție prealabilă necesita 'rubygems' dacă este necesar) va necesita oricare variantă este disponibilă și va prefera varianta de extensie C dacă ambele sunt instalate. A necesita 'json / pur' va necesita explicit varianta pură și necesită „json / ext” va necesita explicit varianta de extensie C.
Înainte de a începe, să definim câteva JSON-uri simple pe care să le analizăm. JSON este de obicei generat de aplicațiile web și poate fi destul de descurajant, cu ierarhii profunde, greu de navigat. Vom începe cu ceva simplu. Nivelul superior al acestui document este un hash, primele două taste conțin șiruri și ultimele două taste conțin tablouri de șiruri.
Așadar, analizarea acestui lucru este destul de simplă. Presupunând că acest JSON este stocat într-un fișier numit employees.json, puteți analiza acest lucru într-un obiect Ruby ca atare.
Și rezultatul acestui program. Rețineți că, dacă executați acest program pe Ruby 1.8.7, comanda tastelor sunt preluate din hash nu este neapărat aceeași ordine în care sunt introduse. Deci, ieșirea dvs. poate apărea în afara ordinului.
empls obiectul în sine este doar un haș. Nimic special despre asta. Are 4 chei, la fel cum a avut documentul JSON. Două dintre taste sunt șiruri, iar două sunt tablouri de șiruri. Fără surprize, JSON a fost transcris cu fidelitate în obiecte Ruby, pentru perusul tău.
Și asta este tot ce trebuie să știți despre analizarea JSON. Există câteva probleme care apar, dar acestea vor fi abordate într-un articol ulterior. Pentru aproape fiecare caz, pur și simplu citiți un document JSON dintr-un fișier sau prin HTTP și îl furnizați JSON.parse.