UTILS.
100% no navegador
⊞}

Achatar / Desachatar JSON

Achate JSON aninhado em chaves de notação por ponto, ou reconstrua objetos aninhados a partir de chaves planas.

— a saída aparece aqui —

Sobre esta ferramenta

O JSON Flatten/Unflatten é uma ferramenta gratuita, executada no navegador, que converte JSON aninhado em um mapa de nível único com chaves em notação de ponto, e reconstrói a estrutura aninhada a partir dessas chaves planas. Cole o JSON e escolha uma direção: Flatten colapsa cada caminho em um único objeto plano (por exemplo, user.name ou user.roles.0), enquanto Unflatten expande as chaves com ponto de volta em objetos e arrays aninhados.

Ambas as direções analisam sua entrada com o próprio analisador JSON do navegador e formatam o resultado com indentação de dois espaços. Objetos e arrays são percorridos recursivamente, os itens de array mantêm seu índice numérico no caminho, e os valores folha — strings, números, booleanos, null e objetos ou arrays vazios — são preservados sem alteração. JSON inválido mostra um erro inline em vez de saída, e um botão de copiar coloca o resultado na sua área de transferência.

Tudo roda localmente em JavaScript: sem envio de dados, sem contas, sem rastreamento, e funciona offline. O flatten é útil para transformar configurações em pares chave/valor planos, como variáveis de ambiente ou arquivos de mensagens i18n, para comparar payloads profundamente aninhados ou para reformatar respostas de API, e o unflatten reverte o mesmo mapeamento.

Perguntas frequentes

Como os arrays são tratados?
Os elementos de array usam seu índice numérico na chave, como items.0.name. Ao fazer unflatten, qualquer segmento de caminho composto apenas por dígitos é tratado como um índice de array, então essas partes são reconstruídas como arrays.
Meus dados são enviados?
Não. A análise e a conversão rodam inteiramente no JavaScript do seu navegador, nada é enviado a um servidor, e a ferramenta continua funcionando offline.
O que acontece com objetos e arrays vazios?
Eles são tratados como valores folha e mantidos como estão em sua chave, então um {} ou [] vazio sobrevive ao flatten sem alteração em vez de ser expandido em chaves mais profundas.
Fazer flatten e depois unflatten sempre retorna o JSON original?
Quase sempre, mas dois casos diferem: uma chave que já contém um ponto se divide em aninhamento extra ao ser desmontada, e uma chave de objeto composta apenas por dígitos é reconstruída como índice de array em vez de chave de objeto.

Mais ferramentas