Das JSON Gem

Es ist einfach, mit dem in Ruby JSON zu analysieren und zu generieren json Juwel. Es bietet eine API zum Parsen von JSON aus Text sowie zum Generieren von JSON-Text aus beliebigen Ruby-Objekten. Es ist mit Abstand die am häufigsten verwendete JSON-Bibliothek in Ruby.

JSON Gem installieren

In Ruby 1.8.7 müssen Sie einen Edelstein installieren. In Ruby 1.9.2 wurde die json Edelstein wird mit der Kerndistribution Ruby gebündelt. Wenn Sie also 1.9.2 verwenden, sind Sie wahrscheinlich fertig. Wenn Sie mit 1.8.7 arbeiten, müssen Sie einen Edelstein installieren.

Stellen Sie vor der Installation des JSON-Gems zunächst fest, dass dieses Gem in zwei Varianten verteilt ist. Einfach dieses Juwel mit installieren Edelstein installieren json installiert die C-Erweiterungsvariante. Dies erfordert die Installation eines C-Compilers und ist möglicherweise nicht auf allen Systemen verfügbar oder geeignet. Wenn Sie diese Version installieren können, sollten Sie dies tun.

Wenn Sie die C-Erweiterungsversion nicht installieren können, sollten Sie dies tun Juwel installieren json_pure stattdessen. Dies ist derselbe Edelstein, der auch in Ruby implementiert ist. Es sollte überall laufen, wo Ruby-Code läuft, auf allen Plattformen und auf einer Vielzahl von Interpreten. Es ist jedoch erheblich langsamer als die C-Erweiterungsversion.

Einmal installiert, gibt es einige Möglichkeiten, dieses Juwel zu benötigen. EIN erfordern 'json' (nach einer Voraussetzung Benötige 'Rubygems' (falls erforderlich) erfordert die jeweils verfügbare Variante und bevorzugt die C-Erweiterungsvariante, wenn beide installiert sind. EIN erfordern 'json / pure' wird explizit die reine Variante verlangen, und a Benötige 'json / ext' benötigt explizit die C-Extension-Variante.

Analysieren von JSON

Bevor wir beginnen, definieren wir ein einfaches JSON zum Parsen. JSON wird in der Regel von Webanwendungen generiert und kann sehr entmutigend sein, da tiefe Hierarchien schwierig zu navigieren sind. Wir werden mit etwas Einfachem beginnen. Die oberste Ebene dieses Dokuments ist ein Hash, die ersten beiden Tasten enthalten Strings und die letzten beiden Tasten enthalten Arrays von Strings.

Das Parsen ist also ganz einfach. Angenommen, dieser JSON wird in einer Datei namens gespeichert employee.json, Sie können dies wie folgt in ein Ruby-Objekt zerlegen.

Und die Ausgabe dieses Programms. Beachten Sie, dass beim Ausführen dieses Programms unter Ruby 1.8.7 die Reihenfolge, in der die Schlüssel aus dem Hash abgerufen werden, nicht unbedingt mit der Reihenfolge übereinstimmt, in der sie eingefügt wurden. Ihre Ausgabe ist möglicherweise nicht in der richtigen Reihenfolge.

Das empls Objekt selbst ist nur ein Hash. Nichts besonderes. Es hat 4 Schlüssel, genau wie das JSON-Dokument. Zwei der Tasten sind Zeichenfolgen, und zwei sind Arrays von Zeichenfolgen. Keine Überraschungen, der JSON wurde in Ruby-Objekten originalgetreu für Sie transkribiert.

Und das ist ungefähr alles, was Sie über das Parsen von JSON wissen müssen. Es gibt einige Probleme, die in einem späteren Artikel behandelt werden. In fast jedem Fall lesen Sie einfach ein JSON-Dokument aus einer Datei oder über HTTP und geben es an JSON.parse.