Conversor de JSON para CSV
Transforme um array JSON em um CSV pronto para planilha.
Funciona no navegador. Nada do que você digita é enviado a lugar nenhum.
- Achata campos aninhados
- Cada chave vira uma coluna
- Abre certo no Excel
Como converter JSON para CSV
- Cole ou envie um array JSON de objetos.
- Escolha o delimitador e se quer achatar campos aninhados.
- Copie o CSV ou baixe o arquivo.
Como campos aninhados se achatam
| JSON | Coluna do CSV | Valor |
|---|---|---|
| {"user":{"name":"Sam"}} | user.name | Sam |
| {"tags":["a","b"]} | tags | a, b |
| {"active":true} | active | true |
O que o achatamento muda
| Configuração | Objeto aninhado | Array de valores |
|---|---|---|
| Achatamento ligado | Uma coluna por campo (address.city) | Unido em uma célula com vírgulas |
| Achatamento desligado | Uma célula com o texto JSON | Uma célula com o texto JSON |
Dicas para exportações CSV limpas
- A ordem das colunas segue a ordem em que os campos aparecem pela primeira vez em todas as linhas, não a ordem alfabética.
- Se um app de planilha mostrar tudo espremido em uma coluna, baixe de novo escolhendo ponto e vírgula como delimitador em vez de vírgula.
- Um valor guardado como string JSON, como um CEP "00501", é escrito no CSV exatamente como essa string, já que só valores que já são números JSON viram números.
Notas sobre o formato CSV
- Um campo só é colocado entre aspas quando precisa, como quando contém vírgula, aspas ou quebra de linha, seguindo as regras de CSV bem formado da RFC 4180.
- O download começa com uma marca de ordem de bytes UTF-8 para o Excel abrir caracteres acentuados corretamente. Ferramentas que esperam UTF-8 puro sem ela ainda leem o resto do arquivo sem problema.
Perguntas frequentes sobre JSON para CSV
Que formato de JSON isso espera?
Um array de objetos, como [{"name":"Sam","age":30}]. Um único objeto vira uma linha, e um array de arrays é escrito linha por linha.
O que acontece com objetos e arrays aninhados?
Com o achatamento ligado, um campo aninhado como address.city vira sua própria coluna chamada address.city. Listas de valores simples são unidas em uma célula com vírgulas.
Todas as linhas precisam ter os mesmos campos?
Não. O cabeçalho inclui todo campo encontrado em qualquer linha, na ordem em que aparecem pela primeira vez, e valores ausentes ficam em branco.
Por que os acentos aparecem errados quando abro o CSV no Excel?
O Excel tenta adivinhar a codificação do texto. O arquivo baixado começa com uma marca UTF-8 para acentos e símbolos aparecerem corretamente. Se o seu Excel usa vírgula para decimais, escolha ponto e vírgula como delimitador.
O que acontece com valores nulos ou ausentes?
Um valor nulo ou um campo ausente em uma linha vira uma célula vazia. A coluna ainda aparece no cabeçalho enquanto pelo menos uma outra linha tiver esse campo.
Posso converter uma resposta de API embrulhada em um objeto, como {"data": [...]}
Cole só o array, por exemplo o conteúdo do campo data. Este conversor espera um array de objetos, ou um único objeto, no nível mais alto, não um invólucro em volta dele.
Posso converter um array JSON de strings ou números simples, sem objetos?
Sim. Cada valor vira uma linha com uma única coluna, então ["a", "b"] vira um CSV de duas linhas, um valor por linha.
O CSV usa quebra de linha CRLF ou LF?
CRLF (\r\n) entre as linhas, que é o que a convenção CSV da RFC 4180 espera e o que o próprio Excel escreve.