Klejnot JSON

Projektant skupiający się na pracy na komputerze

Ciaran Griffin/Photodisc/Getty Images





Łatwo jest przejść do analizowania i generowania JSON w Ruby z json klejnot. Zapewnia interfejs API do analizowania JSON z tekstu, a także generowania tekstu JSON z dowolnych obiektów Ruby. Jest to z łatwością najczęściej używana biblioteka JSON w Ruby.

Instalowanie klejnotu JSON

W Ruby 1.8.7 musisz zainstalować klejnot. Jednak w Ruby 1.9.2, json gem jest dołączony do podstawowej dystrybucji Ruby. Tak więc, jeśli używasz 1.9.2, prawdopodobnie wszystko jest ustawione. Jeśli masz 1.8.7, musisz zainstalować klejnot.



Zanim zainstalujesz klejnot JSON, najpierw zdaj sobie sprawę, że ten klejnot jest dystrybuowany w dwóch wariantach. Po prostu instalowanie tego klejnotu z gem zainstaluj json zainstaluje wariant rozszerzenia C. Wymaga to kompilator C do zainstalowania i mogą nie być dostępne lub nieodpowiednie we wszystkich systemach. Chociaż jeśli możesz zainstalować tę wersję, powinieneś.

Jeśli nie możesz zainstalować wersji rozszerzenia C, powinieneś klejnot zainstalować json_pure zamiast. To ten sam klejnot zaimplementowany w czystym Ruby. Powinien działać wszędzie tam, gdzie działa kod Rubiego, na wszystkich platformach i na różnych interpreterach. Jest jednak znacznie wolniejszy niż wersja z rozszerzeniem C.



Po zainstalowaniu istnieje kilka sposobów, aby wymagać tego klejnotu. A wymagać 'json' (po warunku wstępnym wymagać „rubygemów” w razie potrzeby) będzie wymagał dowolnego dostępnego wariantu i będzie preferował wariant rozszerzenia C, jeśli oba są zainstalowane. A wymagaj 'json/czysty' będzie wyraźnie wymagał czystego wariantu, a a wymagaj 'json/ext' będzie wyraźnie wymagać wariantu rozszerzenia C.

Parsowanie JSON

Zanim zaczniemy, zdefiniujmy prosty JSON do przeanalizowania. JSON jest zwykle generowany przez aplikacje internetowe i może być dość zniechęcający, z głębokimi hierarchiami, które są trudne w nawigacji. Zaczniemy od czegoś prostego. Najwyższym poziomem tego dokumentu jest hash, pierwsze dwa klucze przechowują ciągi, a ostatnie dwa przechowują tablice ciągów.

Więc parsowanie tego jest dość proste. Zakładając, że ten JSON jest przechowywany w pliku o nazwie pracownicy.json , możesz przetworzyć to na obiekt Ruby w ten sposób.

I wyjście tego programu. Zauważ, że jeśli używasz tego programu na Ruby 1.8.7, kolejność, w jakiej klucze są pobierane z hasha, niekoniecznie jest taka sama, w jakiej są wstawiane. Więc twoje wyjście może wydawać się niesprawne.



The emplo sam obiekt jest tylko haszem. Nie ma w tym nic specjalnego. Ma 4 klucze, tak jak miało to miejsce w dokumencie JSON. Dwa z kluczy to łańcuchy, a dwa to tablice łańcuchów. Bez niespodzianek, JSON został wiernie przepisany w obiektach Ruby do wglądu.

I to wszystko, co musisz wiedzieć o parsowaniu JSON. Pojawia się kilka problemów, ale zostaną one omówione w późniejszym artykule. W prawie każdym przypadku po prostu czytasz dokument JSON z pliku lub przez HTTP i przesyłasz go do JSON.parse .