Ruby:
Trabajando con JSON

Cómo:

Ruby, con su biblioteca estándar, proporciona formas sin fisuras para analizar y generar JSON. El módulo principal para estas operaciones es json, que se puede integrar fácilmente en cualquier aplicación Ruby.

Analizando JSON:

Para convertir una cadena JSON en un hash de Ruby, puedes usar el método JSON.parse.

require 'json'

json_string = '{"name": "John Doe", "age": 30, "city": "New York"}'
ruby_hash = JSON.parse(json_string)

puts ruby_hash
# Salida: {"name"=>"John Doe", "age"=>30, "city"=>"New York"}

Generando JSON:

De manera inversa, para convertir un hash de Ruby en una cadena JSON, usas el método JSON.generate o el método to_json disponible en objetos Ruby una vez que se requiere la biblioteca json.

require 'json'

ruby_hash = { name: "Jane Doe", age: 25, city: "Los Angeles" }
json_string = ruby_hash.to_json

puts json_string
# Salida: {"name":"Jane Doe","age":25,"city":"Los Angeles"}

Bibliotecas de Terceros:

Si bien la biblioteca estándar de Ruby cubre el manejo básico de JSON, muchos proyectos dependen de bibliotecas de terceros para una funcionalidad y rendimiento mejorados. Una opción popular es Oj (Optimized JSON).

Analizando con Oj:

require 'oj'

json_string = '{"name": "Alex", "age": 40, "city": "Chicago"}'
ruby_hash = Oj.load(json_string)

puts ruby_hash
# Salida: {"name"=>"Alex", "age"=>40, "city"=>"Chicago"}

Generando con Oj:

Oj también ofrece una forma rápida de generar JSON a partir de objetos Ruby:

require 'oj'

ruby_hash = { name: "Samantha", age: 35, city: "Miami" }
json_string = Oj.dump(ruby_hash)

puts json_string
# Salida: {"name":"Samantha","age":35,"city":"Miami"}

Estos ejemplos ilustran la naturaleza sencilla de trabajar con JSON en Ruby, haciéndolo accesible para tareas que van desde manipulaciones de datos simples hasta comunicaciones complejas de API.