Verwenden des JSON-Edelsteins in Ruby

click fraud protection

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

JSON Gem installieren

Unter Ruby 1.8.7 müssen Sie einen Edelstein installieren. In Ruby 1.9.2 ist die json gem ist mit der Ruby-Kerndistribution gebündelt. Wenn Sie also 1.9.2 verwenden, sind Sie wahrscheinlich fertig. Wenn Sie auf 1.8.7 sind, müssen Sie einen Edelstein installieren.

Bevor Sie das JSON-Gem installieren, stellen Sie zunächst fest, dass dieses Gem in zwei Varianten verteilt ist. Einfach Installation dieses Edelsteins mit gem install json installiert die C-Erweiterungsvariante. Dies erfordert a C-Compiler zu installieren und 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

instagram viewer
gem installiere json_pure stattdessen. Dies ist das gleiche Juwel, das in reinem Ruby implementiert ist. Es sollte überall dort ausgeführt werden, wo Ruby-Code ausgeführt wird, auf allen Plattformen und auf einer Vielzahl von Interpreten. Es ist jedoch erheblich langsamer als die C-Erweiterungsversion.

Nach der Installation gibt es einige Möglichkeiten, dieses Juwel zu benötigen. EIN erfordern 'json' (nach einer Voraussetzung erfordern '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 erfordern, und a erfordern 'json / ext' erfordert ausdrücklich die C-Erweiterungsvariante.

JSON analysieren

Bevor wir beginnen, definieren wir einen einfachen JSON, der analysiert werden soll. JSON wird normalerweise von Webanwendungen generiert und kann sehr entmutigend sein, mit tiefen Hierarchien, die schwer zu navigieren sind. Wir werden mit etwas Einfachem beginnen. Die oberste Ebene dieses Dokuments ist ein Hash. Die ersten beiden Schlüssel enthalten Zeichenfolgen und die letzten beiden Schlüssel enthalten Arrays von Zeichenfolgen.

Das Parsen ist also ganz einfach. Angenommen, dieser JSON wird in einer Datei namens aufgerufen employee.jsonkönnen Sie dies wie folgt in ein Ruby-Objekt analysieren.

Und die Ausgabe dieses Programms. Beachten Sie, dass, wenn Sie dieses Programm unter Ruby 1.8.7 ausführen, die Reihenfolge, in der die Schlüssel aus dem Hash abgerufen werden, nicht unbedingt der Reihenfolge entspricht, in der sie eingefügt wurden. Daher wird Ihre Ausgabe möglicherweise nicht in der richtigen Reihenfolge angezeigt.

Das empls Objekt selbst ist nur ein Hash. Nichts Besonderes. Es hat 4 Schlüssel, genau wie das JSON-Dokument. Zwei der Schlüssel sind Zeichenfolgen, und zwei sind Arrays von Zeichenfolgen. Keine Überraschungen, der JSON wurde zur Kenntnisnahme originalgetreu in Ruby-Objekte transkribiert.

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

instagram story viewer