Il est facile de se lancer dans l'analyse et la génération de JSON dans Ruby avec le json gemme. Il fournit une API pour analyser JSON à partir de texte ainsi que pour générer du texte JSON à partir d'objets Ruby arbitraires. C'est facilement la bibliothèque JSON la plus utilisée de Ruby.
Sur Ruby 1.8.7, vous devrez installer une gemme. Cependant, dans Ruby 1.9.2, le json gem est fourni avec la distribution principale de Ruby. Donc, si vous utilisez 1.9.2, vous êtes probablement prêt. Si vous êtes sur 1.8.7, vous devrez installer une gemme.
Avant d'installer la gemme JSON, réalisez d'abord que cette gemme est distribuée en deux variantes. Installer simplement ce bijou avec installer gem json va installer la variante d'extension C. Cela nécessite l'installation d'un compilateur C et peut ne pas être disponible ou approprié sur tous les systèmes. Si vous pouvez installer cette version, vous devriez.
Si vous ne pouvez pas installer la version d'extension C, vous devez installation de gem json_pure au lieu. Il s'agit du même joyau implémenté en Ruby pur. Il devrait fonctionner partout où le code Ruby s'exécute, sur toutes les plates-formes et sur une variété d'interprètes. Cependant, il est considérablement plus lent que la version d'extension C.
Une fois installé, il existe plusieurs façons d'exiger ce joyau. UNE nécessite 'json' (après un prérequis nécessitent des «rubygèmes» si nécessaire) nécessitera la variante disponible et préférera la variante d'extension C si les deux sont installées. UNE nécessite 'json / pure' nécessitera explicitement la variante pure, et un nécessite 'json / ext' nécessitera explicitement la variante d'extension C.
Avant de commencer, définissons un JSON simple à analyser. Le JSON est généralement généré par des applications Web et peut être assez intimidant, avec des hiérarchies profondes difficiles à parcourir. Nous allons commencer par quelque chose de simple. Le niveau supérieur de ce document est un hachage, les deux premières clés contiennent des chaînes et les deux dernières clés contiennent des tableaux de chaînes.
Analyser ceci est donc assez simple. En supposant que ce JSON est stocké dans un fichier appelé salariés.json, vous pouvez analyser cela dans un objet Ruby comme ça.
Et la sortie de ce programme. Notez que si vous exécutez ce programme sur Ruby 1.8.7, l'ordre dans lequel les clés sont extraites du hachage n'est pas nécessairement le même ordre dans lequel elles sont insérées. Ainsi, votre sortie peut apparaître dans le désordre.
le empls l'objet lui-même n'est qu'un hachage. Rien de spécial à ce sujet. Il a 4 clés, tout comme le document JSON. Deux des clés sont des chaînes et deux sont des tableaux de chaînes. Pas de surprise, le JSON a été fidèlement transcrit en objets Ruby pour votre lecture.
Et c'est à peu près tout ce que vous devez savoir sur l'analyse JSON. Il y a quelques problèmes qui surgissent, mais ceux-ci seront traités dans un article ultérieur. Pour à peu près tous les cas, il vous suffit de lire un document JSON à partir d'un fichier ou via HTTP et de le nourrir JSON.parse.