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

Como usar JSON Flatten

  1. Escolha Achatar ou Desachatar com o seletor de modo.
  2. Cole seu JSON no painel de entrada à esquerda.
  3. Defina o delimitador e, para o achatamento, o estilo de chave de array se quiser algo diferente do padrão.
  4. 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

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

Todas as ferramentas de ArrayKit