Saltar al contenido

Ruby hash a JSON

Convierte un literal de hash de Ruby o salida de pp/inspect a JSON y viceversa.

Entrada

Ruby hash a JSON

Pega un literal de hash de Ruby, o la salida de `pp`, `.inspect` o una consola de Rails, y esta herramienta lo convierte a JSON limpio. Entiende ambos estilos de claves de hash — el clásico hash rocket (`:name => 'Alice'`, `'name' => 'Alice'`) y la forma abreviada moderna (`name: 'Alice'`), incluyendo claves abreviadas entrecomilladas como `'full name': 'Alice Smith'`. Se manejan hashes anidados y arrays, cadenas entrecomilladas simples y dobles, símbolos (`:active` se convierte en la cadena "active"), números enteros y decimales con guiones bajos como separadores de miles (`1_000_000`), `true`, `false`, `nil`, comas finales, comentarios `#` e entrada multilínea, por lo que puedes pegar la salida de la consola exactamente como se imprimió.

Las opciones controlan cómo se ve el JSON. Alterna entre formato bonito con sangría de 2 espacios, 4 espacios o tabulación, o contrae todo a una sola línea. Las claves de símbolo pueden representarse como cadenas JSON simples o mantener dos puntos iniciales (`":name"`) como recordatorio de dónde provienen. Ordenar claves alfabéticamente facilita comparar dos hashes. Un `nil` de Ruby puede convertirse en JSON `null` u omitirse completamente de la salida, según lo que espere tu herramienta. El interruptor de dirección invierte todo: pega JSON y obtén un literal de hash de Ruby, eligiendo sintaxis abreviada o hash-rocket para las claves generadas.

Cubre los casos cotidianos de depuración de una sesión de consola Rails, conversión de un hash de configuración codificado a JSON para un frontend o prueba de API, documentación de lo que realmente devuelve un método, o inicialización de una fixture de Ruby desde un payload JSON que alguien te envió. Cuando la entrada no es Ruby válido, el error nombra la línea exacta y columna y qué se esperaba allí, en lugar de dejarte adivinar qué paréntesis falta.

Todo se ejecuta localmente en tu navegador — el hash o JSON que pegas, que puede incluir datos reales de una aplicación en ejecución, nunca se carga a ningún lugar. Copia el resultado, descárgalo como archivo .json o envíalo directamente a otra herramienta como el formateador JSON para seguir trabajando.

Preguntas frecuentes

Qué sintaxis de hash Ruby entiende esta herramienta?
Ambos estilos — hash rocket (`:key => value`, `'key' => value`) y forma abreviada de símbolo (`key: value`, incluyendo claves entrecomilladas como `'full name': value`), más hashes anidados y arrays, cadenas entrecomilladas simples y dobles, símbolos, números con guiones bajos, `true`/`false`/`nil`, comas finales, comentarios `#` e entrada multilínea.
Qué sucede con los símbolos de Ruby?
Un valor de símbolo como `:active` se convierte en la cadena JSON "active". Un símbolo usado como clave de hash (escrito como `:name => ...` o abreviado como `name: ...`) se convierte en una clave de cadena JSON simple, o mantiene dos puntos iniciales (`":name"`) si así lo eliges.
Cómo maneja la herramienta el nil de Ruby?
Elige si `nil` se convierte a JSON `null` (la entrada permanece con un valor nulo) o se omite completamente, por lo que la clave desaparece de la salida.
Puedo convertir al revés, de JSON a hash de Ruby?
Sí. Cambia la dirección a "JSON → Ruby hash" y elige si las claves generadas usan sintaxis hash-rocket (`:key => value`) o abreviada (`key: value`).
Se carga mi código Ruby o JSON en algún lugar?
No. El análisis y la conversión se ejecutan completamente en tu navegador usando JavaScript — nada de lo que pegues se envía a un servidor.