Ir para o conteúdo principal
Bethemesh

Achatar JSON aninhado

Achate JSON aninhado em dados tabulares: escolha o separador dos caminhos e o tratamento dos arrays, confirme as colunas e exporte para CSV ou Excel.

  • Exportar
Automatizar

Integrar este widget

Personalize o resultado, verifique a pré-visualização e copie o código.

Pré-visualização

Tipo de código de integração

Código a copiar

Responsivo e redimensionado automaticamente pela Bethemesh.

Achate objetos JSON aninhados em colunas com caminhos explícitos para os reutilizar como dados tabulares.

Os seus ficheiros são processados localmente no navegador e nunca são enviados para os nossos servidores.

Largue o seu ficheiro aqui

Tamanho recomendado: até 30 MB

Opções

Esta ferramenta foi útil?

Como funciona esta ferramenta?

Um JSON aninhado descreve frequentemente fichas com subobjetos, como cliente.endereco.cidade, e listas de etiquetas ou contactos. O achatamento transforma essa estrutura em colunas com nomes derivados dos caminhos, para usar os valores em CSV ou numa folha de cálculo. A ferramenta conserva valores escalares e oferece dois tratamentos para listas internas. Não valida um esquema de negócio, não seleciona expressões JSONPath nem cria uma linha independente para cada elemento de uma lista aninhada.

Importe um ficheiro JSON até 30 MiB. A raiz deve ser um objeto ou uma lista; um escalar isolado como 42 ou null é recusado. Um objeto raiz produz uma linha. Uma lista raiz produz uma linha por elemento: escalares ficam em value e objetos são achatados. Tudo decorre no navegador. Aplica-se o analisador JSON nativo: comentários e vírgulas finais são inválidos, inteiros muito grandes podem perder precisão e chaves repetidas conservam o último valor antes da transformação.

As chaves dos subobjetos são unidas pelo separador escolhido, um ponto por predefinição. Um objeto endereco com cidade produz endereco.cidade. O separador não é protegido nos nomes originais. Se uma chave literal endereco.cidade colidir com o mesmo caminho aninhado, o processo falha em vez de substituir dados. Escolha um separador ausente das chaves ou renomeie-as primeiro. Objetos vazios são conservados como texto {} e não desaparecem silenciosamente da tabela.

Por predefinição, cada lista interna permanece numa célula como texto JSON, por exemplo ["azul","verde"]. O modo índice cria colunas terminadas em 0, 1 e seguintes, percorrendo também objetos nessas posições. Não expande listas em linhas nem cria produtos cartesianos entre elas. Listas vazias permanecem como [] nos dois modos. Números, booleanos e null mantêm tipos escalares; propriedades ausentes aparecem vazias ao exportar. Verifique a pré-visualização e exporte CSV ou XLSX.

Como usar esta ferramenta

  1. Verificar raiz e chaves

    Observe objetos, listas e separadores já presentes nos nomes. Confirme que cada elemento da lista raiz representa um registo esperado.

  2. Escolher o tratamento das listas

    Mantenha JSON para conservar uma lista por célula ou use índice para comparar posições. Nenhuma opção acrescenta linhas por elemento interno.

  3. Validar a tabela

    Verifique um caminho aninhado, uma lista vazia e uma propriedade ausente. Controle identificadores numéricos longos: a precisão perdida na leitura não pode ser recuperada depois.

Casos de uso

Inspecionar uma exportação de API

Exponha endereços e preferências em colunas sem copiar manualmente caminhos aninhados.

Preparar uma tabela de importação

Achate subobjetos para um sistema destinatário que apenas aceita células escalares.

Comparar posições fixas

Desdobre listas curtas por índice quando as posições tenham significado consistente entre registos.

Exemplos

Conservar uma lista na ficha

Com ponto e modo JSON predefinidos surgem cliente.nome e cliente.cidade; etiquetas continua como texto JSON numa célula.

Entrada

{"cliente":{"nome":"Ada","cidade":"Porto"},"etiquetas":["pro","ativo"]}

Resultado

cliente.nome;cliente.cidade;etiquetas
Ada;Porto;"[""pro"",""ativo""]"

Expor posições da lista

Ponto e modo índice criam pontos.0 e pontos.1. A lista vazia mantém-se como [] numa coluna pontos.

Entrada

[{"id":1,"pontos":[7,9]},{"id":2,"pontos":[]}]

Resultado

id;pontos.0;pontos.1;pontos
1;7;9;
2;;;[]

Dicas e boas práticas

  • Escolha um separador ausente das chaves originais. Os pontos tornam os caminhos legíveis, mas uma convenção explícita é mais segura do que presumir que não existem pontos literais.
  • Guarde identificadores longos como cadeias no JSON de origem. Os números JavaScript têm precisão finita e o achatamento não corrige um inteiro já arredondado durante a leitura.
  • Evite o modo índice em listas muito longas se não precisar de cada posição. Milhares de colunas geradas podem ser menos práticas do que conservar o texto JSON completo.

Perguntas frequentes

O modo índice cria uma linha por elemento?

Não. Cria colunas como contactos.0.nome e contactos.1.nome na mesma linha. Uma linha por contacto exige outra transformação e uma regra explícita de repetição dos identificadores. As listas aninhadas não são combinadas automaticamente entre si.

Porque bloqueiam as colisões de chaves?

Uma chave literal a.b e um objeto a contendo b produzem o mesmo caminho com ponto. Escolher um perderia dados. O motor informa do conflito; mude o separador ou atribua nomes inequívocos às chaves de origem.

Qual é a diferença em relação a CSV para JSON?

O conversor CSV/JSON espera uma tabela simples com células escalares. O achatamento prepara dados aninhados para esse uso. Algumas listas permanecem como texto JSON conforme o modo escolhido e não é garantida a reconstrução exata do objeto original.

Aceita qualquer documento JSON válido?

A raiz deve ser um objeto ou lista com sintaxe JSON padrão. Raízes escalares isoladas são recusadas. Os ficheiros são lidos na memória do navegador; o limite de 30 MiB não garante conforto com estruturas muito profundas ou tabelas muito largas.

Ferramentas relacionadas

Ferramentas semelhantes ou complementares a esta.

Ferramentas semelhantes

Converta facilmente ficheiros Excel, CSV e outros formatos de tabelas diretamente no navegador.

Dados e folhas de cálculoEm destaqueUtilizar esta ferramenta

Gere instruções SQL INSERT a partir de Excel, CSV ou JSON.

Dados e folhas de cálculoUtilizar esta ferramenta