Pular para o conteúdo

JSON ⇄ CSV conversor

JSON ⇄ CSV

Achata JSON aninhado em colunas ou reconstrói objetos a partir de uma tabela, com uma regra de nome de coluna por caminho com pontos.

Transforma um array de objetos JSON em uma tabela de planilha: uma linha por registro, uma coluna por chave. A parte interessante é o que ele faz com as partes do JSON para as quais uma tabela não tem lugar — objetos aninhados, arrays e registros que não carregam todos as mesmas chaves — e cada uma delas é uma escolha que você faz no topo da página.

🔒 Roda inteiramente no seu navegadorjsoncsvconverttable
Objetos aninhados

user.address.city vira uma coluna própria.

Valores de array

tags.0, tags.1 — o mais largo, e não perde nada.

Linhas irregulares

Os valores que faltam viram células vazias.

JSON de entrada

Solte um arquivo .json

Lido nesta aba. Nada é enviado.

CSV de saída

Delimitador

O download leva um BOM de UTF-8 para o Excel no Windows não ler o “ç” como Windows-1252. O botão de copiar te dá o texto sem ele.

Como usar

  1. Cole um array de objetos

    É a forma que uma tabela quer. Um objeto sozinho vira uma linha, e um objeto que envolve um array — o envelope `{ "data": [...] }` comum das APIs — é desembrulhado para você, com uma nota dizendo isso.

  2. Decida como o aninhamento é achatado

    Caminhos com ponto dão a `user.address.city` uma coluna própria, que é o que você quer se a planilha vai ser filtrada ou pivotada. Só o primeiro nível mantém `user.address` como uma única célula contendo JSON, que é menor e reversível.

  3. Decida o que acontece com os arrays

    Uma coluna por elemento (`tags.0`, `tags.1`) não perde nada, mas alarga a planilha até o array mais longo do documento. Juntados coloca `a; b; c` em uma célula e lê bem. Como JSON mantém os colchetes para que um passo posterior possa analisá-lo de volta.

  4. Confira os tipos das colunas na pré-visualização

    Cada cabeçalho de coluna carrega o tipo que os valores realmente tinham e, quando faltava em alguns registros, uma contagem presentes/total. Uma coluna de tipo `mixed` costuma ser onde a exportação vai te morder mais tarde.

  5. Baixe o CSV, ou copie o TSV

    O download do CSV leva um BOM UTF-8 na frente para o Excel no Windows abrir acentos e cedilha corretamente. Se você vai colar em uma planilha em vez de abrir um arquivo, mude para TSV e use o botão de copiar.

Perguntas frequentes

Por que no Excel os acentos aparecem como símbolos estranhos?

Porque o arquivo foi salvo sem o BOM: o Excel no Windows ainda lê um CSV UTF-8 sem BOM como Windows-1252, e um “ç” vira “ç”, um “ã” vira “ã”. O botão de download daqui adiciona um; o de copiar deliberadamente não, porque um BOM colado em um editor de texto aparece como um caractere perdido.

Ele converte no sentido contrário, de CSV para JSON?

Nesta página não: ela só vai em um sentido. E a viagem tem perda em geral: nomes de coluna com ponto podem ser reconstruídos em objetos, mas um array juntado não se distingue de uma string que por acaso continha um ponto e vírgula.

O que acontece com registros que têm chaves diferentes?

É para isso que existe a opção “Linhas irregulares”. Todas as chaves mantém todas e deixa vazios, Só chaves comuns descarta qualquer coluna que não esteja em todos os registros, e Chaves da primeira linha trata o primeiro registro como o esquema e ignora o resto em silêncio. A primeira é o padrão seguro; a segunda é o que você quer quando um importador adiante recusa arquivos irregulares.

Números grandes estão a salvo?

A análise é a do navegador, então números acima de 2^53 já foram arredondados antes de a tabela ser montada — e uma planilha vai arredondá-los de novo ao abrir. Ids longos pertencem ao JSON como strings, e mesmo assim o Excel pode reformatá-los; um apóstrofo no início da célula é a defesa usual.

Pode receber de

Em seguida

Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.