Ir para o conteúdo

Ruby hash para JSON

Converta um hash literal de Ruby ou saída de pp/inspect para JSON, ou vice-versa.

Entrada
Saída

Ruby hash para JSON

Cole um hash literal do Ruby, ou a saída de `pp`, `.inspect` ou do console do Rails, e esta ferramenta o converte em JSON limpo. Ela entende ambos os estilos de chaves — o clássico hash rocket (`:name => 'Alice'`) e a sintaxe simplificada moderna (`name: 'Alice'`), incluindo chaves entre aspas. Hashes e arrays aninhados, strings, símbolos (`:active` torna-se "active"), números com separadores por sublinhado (`1_000_000`), `true`, `false`, `nil`, vírgulas no final, comentários com `#` e entradas multilinha são todos suportados para colar a saída exalta do console.

As opções controlam a exibição do JSON. Alterne a formatação (pretty-printing) com recuo de 2 espaços, 4 espaços, tabulação ou reduza tudo a uma linha. Chaves de símbolo podem virar strings simples ou manter um dois-pontos inicial (`":name"`). A ordenação alfabética facilita a comparação entre dois hashes. O valor `nil` pode virar `null` no JSON ou ser omitido. O alternador de direção inverte todo o processo: cole JSON e obtenha um hash literal do Ruby na sintaxe desejada.

Ideal para depurar sessões do Rails, converter configurações para o frontend ou testes de API e criar fixtures. Quando a entrada for inválida, o erro indica a linha e a coluna exatas em vez de deixar você adivinhando qual caractere falta.

Tudo roda localmente no seu navegador via JavaScript — nenhum dado é enviado para um servidor. Copie o resultado, baixe como um arquivo .json ou envie diretamente para outra ferramenta, como o formatador JSON, para continuar trabalhando.

FAQ

Qual sintaxe de hash Ruby esta ferramenta entende?
Ambos os estilos: hash rocket (`:key => value`, `'key' => value`) e símbolo simplificado (`key: value`, incluindo chaves entre aspas como `'full name': value`), além de hashes e arrays aninhados, strings com aspas simples e duplas, símbolos, números com separador por sublinhado, `true`/`false`/`nil`, vírgulas no final, comentários com `#` e entrada multilinha.
O que acontece com os símbolos do Ruby?
Um valor de símbolo como `:active` torna-se a string JSON "active". Um símbolo usado como chave de hash (seja escrito como `:name => ...` ou na sintaxe simplificada `name: ...`) torna-se uma chave de string JSON simples por padrão, ou mantém o dois-pontos inicial (`":name"`) se você escolher essa opção.
Como a ferramenta lida com o nil do Ruby?
Escolha se `nil` é convertido para `null` no JSON (a entrada permanece, com um valor nulo) ou se é omitido completamente, fazendo com que a chave desapareça do resultado.
Posso converter no sentido inverso, de JSON para hash Ruby?
Sim. Alterne a direção para "JSON → Ruby hash" e escolha se as chaves geradas usarão a sintaxe hash rocket (`:key => value`) ou simplificada (`key: value`).
Meu código Ruby ou JSON é enviado para algum lugar?
Não. A análise e a conversão rodam inteiramente no seu navegador usando JavaScript — nada do que você cola é enviado para um servidor.