Es fácil saltar al análisis y generar JSON en Ruby con el json joya. Proporciona una API para analizar JSON a partir de texto, así como generar texto JSON a partir de objetos arbitrarios de Ruby. Es fácilmente la biblioteca JSON más utilizada en Ruby..
En Ruby 1.8.7, deberás instalar una gema. Sin embargo, en Ruby 1.9.2, el json gem se incluye con la distribución central de Ruby. Entonces, si está utilizando 1.9.2, probablemente esté todo listo. Si tiene 1.8.7, necesitará instalar una gema.
Antes de instalar la gema JSON, primero tenga en cuenta que esta gema se distribuye en dos variantes. Simplemente instalando esta gema con joya instalar json instalará la variante de extensión C. Esto requiere la instalación de un compilador de C y es posible que no esté disponible o no sea apropiado en todos los sistemas. Aunque si puedes instalar esta versión, deberías.
Si no puede instalar la versión de extensión C, debe joya instalar json_pure en lugar. Esta es la misma gema implementada en Ruby puro. Debería ejecutarse en todas partes donde se ejecuta el código Ruby, en todas las plataformas y en una variedad de intérpretes. Sin embargo, es considerablemente más lento que la versión de extensión C.
Una vez instalado, hay algunas maneras de requerir esta gema. UN requiere 'json' (después de un requisito previo requieren 'rubygems' si es necesario) requerirá la variante disponible y preferirá la variante de extensión C si ambas están instaladas. UN requiere 'json / puro' requerirá explícitamente la variante pura, y un requiere 'json / ext' requerirá explícitamente la variante de extensión C.
Antes de comenzar, definamos algunos JSON simples para analizar. JSON generalmente es generado por aplicaciones web y puede ser bastante desalentador, con jerarquías profundas que son difíciles de navegar. Comenzaremos con algo simple. El nivel superior de este documento es un hash, las dos primeras teclas contienen cadenas y las dos últimas teclas contienen matrices de cadenas.
Analizar esto es bastante simple. Suponiendo que este JSON se almacena en un archivo llamado empleados.json, puedes analizar esto en un objeto Ruby así.
Y la salida de este programa. Tenga en cuenta que si está ejecutando este programa en Ruby 1.8.7, el orden en que se recuperan las claves del hash no es necesariamente el mismo orden en que se insertan. Entonces su salida puede aparecer fuera de servicio.
los empls el objeto en sí mismo es solo un hash. No tiene nada de especial. Tiene 4 teclas, al igual que el documento JSON. Dos de las claves son cadenas y dos son matrices de cadenas. Sin sorpresas, el JSON se transcribió fielmente en objetos Ruby para su lectura..
Y eso es todo lo que necesita saber sobre el análisis de JSON. Hay algunos problemas que surgen, pero se tratarán en un artículo posterior. Para casi todos los casos, simplemente lee un documento JSON de un archivo o sobre HTTP y lo alimenta a JSON.parse.