JSON Flatten / Unflatten
Achate JSON aninhado em chaves com notação de ponto, ou desfaça o achatamento de volta, instantaneamente no seu navegador. Seus dados ficam no seu dispositivo.
Seu JSON é achatado e desachatado localmente no seu navegador e nunca é enviado, mas evite colar segredos que você não gostaria de ter no histórico da sua área de transferência.
Precisa fazer o pretty print primeiro? Experimente o Formatador JSON.
Sobre JSON Flatten
Esta ferramenta de json flatten reduz um objeto JSON aninhado a um mapa de nível único cujas chaves são caminhos em notação de ponto, então {"a":{"b":1},"arr":[10,20]} vira {"a.b":1,"arr.0":10,"arr.1":20}. Mude para o modo de desfazer achatamento e ele reconstrói a estrutura aninhada original a partir desses caminhos planos. Formatos planos de chave/valor são fáceis de comparar, armazenar em arquivos .env ou de configuração, mapear para colunas de planilha ou alimentar bibliotecas de formulário que usam o caminho como chave. Você pode mudar o delimitador do ponto padrão para o que preferir, e escolher se os índices de array aparecem como arr.0 ou no estilo de colchetes arr[0]. Chaves de objeto, arrays, primitivos, null e contêineres vazios são todos tratados, e a ida e volta é sem perdas. Tudo roda inteiramente no seu navegador, então o JSON que você cola é processado localmente e nunca sai do seu dispositivo.
Recursos
- Achate objetos e arrays aninhados em chaves de nível único com notação de ponto
- Desfaça o achatamento de pares caminho/valor de volta no JSON aninhado original
- Escolha qualquer delimitador de chave — o padrão é o ponto (.)
- Selecione índices com ponto (arr.0) ou com colchetes (arr[0]) para arrays
- Ida e volta sem perdas: achatar e depois desachatar retorna um JSON idêntico
- Trata primitivos, null e objetos e arrays vazios como valores folha
- Visão ao vivo em dois painéis com erros de análise exibidos inline enquanto você digita
- Copie o resultado ou baixe-o como flat.json ou nested.json
Como usar JSON Flatten
- Escolha Achatar ou Desachatar com o seletor de modo.
- Cole seu JSON no painel de entrada à esquerda.
- Defina o delimitador e, para o achatamento, o estilo de chave de array se quiser algo diferente do padrão.
- Leia o JSON convertido à direita, depois Copie ou baixe-o.
Exemplo
Entrada
{
"user": { "name": "Ada", "roles": ["admin", "dev"] },
"active": true
}
Saída
{
"user.name": "Ada",
"user.roles.0": "admin",
"user.roles.1": "dev",
"active": true
}
Objetos aninhados e itens de array viram chaves em notação de ponto terminadas no seu índice.
Erros comuns e solução de problemas
- O modo Desachatar informa que espera um objeto JSON plano de pares caminho/valor. — Desachatar precisa de um objeto de nível único como {"a.b":1}; mude para Achatar se você está partindo de um JSON aninhado.
- Desachatar produz um objeto com chaves "0", "1" onde você esperava um array. — Os índices de array devem ser segmentos inteiros simples. Se o seu delimitador for diferente das chaves, defina o mesmo delimitador para que 0 e 1 sejam lidos como índices.
- O achatamento perde valores quando duas chaves colidem, por exemplo um ponto literal dentro do nome de uma chave. — Escolha um delimitador que não apareça dentro das suas chaves (como / ou __) para que cada caminho permaneça inequívoco.
- A entrada mostra um erro de análise de JSON e nenhuma saída aparece. — Corrija a sintaxe destacada — JSON precisa de chaves e strings entre aspas duplas e nenhuma vírgula sobrando. Experimente Carregar exemplo para um ponto de partida válido.
Perguntas frequentes
- Como os arrays são achatados?
- Cada item do array vira sua própria chave terminada no índice do item, então arr[10, 20] é achatado para {"arr.0":10,"arr.1":20}. Você pode mudar para o estilo de colchetes e obter arr[0] e arr[1], e o desachatamento lê qualquer um dos formatos de volta em um array real.
- Posso mudar o delimitador de chave?
- Sim. O delimitador padrão é o ponto, mas você pode defini-lo como qualquer caractere ou string curta — por exemplo / ou __. Use o mesmo delimitador ao desachatar para que os caminhos se dividam corretamente.
- Achatar e depois desachatar é sem perdas?
- Para um JSON bem formado, a ida e volta retorna dados idênticos: objetos, arrays, strings, números, booleanos, null e contêineres vazios são todos preservados. A única coisa a evitar é um delimitador que também apareça literalmente dentro do nome de uma chave.
- Qual é a diferença entre chaves de array com ponto e com colchetes?
- É puramente como os índices são escritos: o estilo de ponto dá arr.0 enquanto o estilo de colchetes dá arr[0]. Ambos descrevem a mesma posição do array, e a etapa de desachatamento entende qualquer notação, então escolha a que suas outras ferramentas esperam.
- Por que eu achataria um JSON?
- Mapas planos de caminho/valor são mais fáceis de comparar linha por linha, armazenar em arquivos de ambiente ou configuração, alinhar como colunas de planilha e vincular a campos de formulário que usam o caminho como chave. O desachatamento permite transformar esse formato plano de volta em JSON aninhado quando você precisar.
- Meu JSON é enviado para algum lugar?
- Não. O achatamento e o desachatamento rodam inteiramente no seu navegador, então o JSON que você cola é processado localmente no seu dispositivo e nunca é enviado para um servidor.
Ferramentas relacionadas
- Formatador de JSON — Embeleze, minifique e valide JSON com a localização dos erros.
- Visualizador de JSON — Visualizador de texto e árvore recolhível com expandir/recolher e caminhos de nós.
- JSON para CSV — Converta um array de objetos JSON planos para CSV.
- Escapar / Desescapar JSON — Escape texto para uma string JSON ou desescape uma string JSON para texto sem formatação.
- JSON Diff — Compare dois documentos JSON e veja um diff estrutural do que mudou.
- YAML ↔ JSON — Converta YAML para JSON e vice-versa.
Todas as ferramentas de ArrayKit