Como converter JSON em CSV

Cole um array JSON e obtenha uma tabela delimitada que pode ser copiada ou baixada como arquivo .csv. O cabeçalho reúne as chaves de todas as linhas, não apenas as da primeira, então cada linha pode trazer campos diferentes.

Os valores recebem aspas como as planilhas esperam, objetos aninhados mantêm o texto JSON em vez de virar [object Object], e nada é enviado: a conversão acontece na página.

  1. Cole um array JSON de objetos na área de texto.
  2. Clique em Converter para CSV. O cabeçalho lista todas as chaves que aparecem em qualquer linha, na ordem em que surgem pela primeira vez.
  3. Deixe o campo do delimitador vazio para usar vírgulas, ou digite ponto e vírgula, barra vertical ou \t para tabulação.
  4. Copie o resultado ou baixe o arquivo kivtools-json-to-csv.csv.

O que o conversor faz

Como as colunas são montadas

O conjunto de colunas é a união das chaves de primeiro nível de todas as linhas, na ordem em que aparecem: se faltar uma chave em uma linha, a célula fica vazia. Um objeto JSON isolado é tratado como uma linha, e um array de arrays é gravado como linhas sem cabeçalho.

Em [{"a":1},{"a":2,"b":9}] o cabeçalho é a,b — a primeira linha fica "1," e a segunda "2,9". A ordem dos campos dentro de cada objeto não importa, porque as chaves são combinadas pelo nome: {"a":1,"b":2} e {"b":3,"a":4} geram 1,2 e 4,3.

Valores que precisam de aspas

Uma célula recebe aspas quando contém o delimitador ativo, uma aspa dupla ou uma quebra de linha, e as aspas internas são duplicadas — a regra que as planilhas seguem. "Smith, John" vira ""Smith, John"", e um valor com quebra de linha continua sendo uma única célula em vez de dividir o registro.

Números e true/false permanecem como estão; null e chaves ausentes viram células vazias. Objetos e arrays são gravados como texto JSON compacto, então dados aninhados sobrevivem em vez de virar [object Object].

Escolher o delimitador

O campo vem vazio e as vírgulas são usadas. Digite \t para tabulação ou qualquer outro caractere; o ponto e vírgula é o habitual onde a vírgula é o separador decimal. As aspas seguem o delimitador ativo.

Planilhas leem CSV com vírgula ou ponto e vírgula; o arquivo baixado começa com marca de ordem de bytes UTF-8 para o Excel mostrar corretamente acentos e caracteres CJK.

Erros e limites

JSON inválido, array vazio e linhas que não são objetos nem arrays mostram uma mensagem curta e apagam o resultado anterior, então nunca fica uma tabela antiga na tela. Só arrays JSON podem ser convertidos; o download não gera uma pasta XLSX.

Um array de 5.000 linhas (cerca de 300 KB de JSON) é convertido em aproximadamente um segundo no Chrome e gera um arquivo de 130 KB, sem nenhuma requisição de rede.

Ferramentas recentes: