Conversor de JSON para CSV
Converte JSON em CSV e CSV em JSON no teu navegador. As chaves aninhadas passam a colunas, o separador é detetado e nada é enviado para um servidor.
Como usar o conversor de JSON para CSV
- Escolhe a direção: JSON → CSV ou CSV → JSON.
- Cola os teus dados na caixa de entrada ou clica em Abrir um ficheiro para carregar um ficheiro
.json,.csvou.tsvdo teu computador (até 10 MB). - Escolhe um Separador. Ao ler CSV, Detetar automaticamente costuma encontrar o certo; ao escrever CSV, a deteção automática usa a vírgula.
- Ajusta as opções da direção atual e clica em Converter. O resultado também se atualiza enquanto escreves.
- Copia ou transfere o resultado. Inverter a direção passa o resultado para a entrada, para o converteres no sentido contrário.
De JSON para CSV
Um ficheiro CSV é uma tabela plana: uma linha de cabeçalho com os nomes das colunas e uma linha por registo. O JSON é uma árvore, por isso o conversor tem de decidir como os registos e os valores aninhados passam a linhas e colunas.
- Uma lista de objetos dá uma linha por objeto. As colunas são a união de todas as chaves, pela ordem em que aparecem pela primeira vez, por isso um objeto a que falte uma chave fica simplesmente com uma célula vazia.
- Um objeto com uma única propriedade do tipo lista, como
{"items": [ … ]}, uma forma comum nas respostas de APIs, é desembrulhado e cada elemento passa a uma linha. Qualquer outro objeto dá uma única linha. - Uma lista de listas já é uma tabela e é escrita tal como está, sem linha de cabeçalho.
- Com Achatar as chaves aninhadas (morada.cidade) ligado, os objetos aninhados passam a nomes de colunas com pontos:
{"morada": {"cidade": "Braga"}}produz uma colunamorada.cidade. As listas dão colunas com índices:tags.0,tags.1… Com a opção desligada, os valores aninhados são escritos numa única célula como texto JSON.
Os valores que contêm o separador, aspas ou quebras de linha são postos entre aspas segundo o RFC 4180, o formato que o Excel, o LibreOffice e o Google Sheets leem. null passa a uma célula vazia.
Proteção contra fórmulas de folhas de cálculo
Uma célula que comece por =, +, - ou @ pode ser executada como fórmula quando o CSV é aberto numa folha de cálculo. É o que se chama injeção de CSV. Se os teus dados vierem de utilizadores ou de outras fontes não fiáveis, liga Proteger contra fórmulas de folhas de cálculo: essas células de texto recebem um apóstrofo no início, para que a folha de cálculo as mostre como texto simples.
De CSV para JSON
- A primeira linha é um cabeçalho transforma cada linha num objeto cujas chaves são os nomes das colunas. Desliga a opção para obteres uma lista de listas.
- Converter números e booleanos faz de
42um número e detrueum booleano, e transforma as células vazias emnull. Desliga a opção para manter todos os valores como strings, o que preserva os zeros à esquerda em códigos postais ou números de telefone. - Reconstruir objetos aninhados a partir dos cabeçalhos com pontos inverte o achatamento: os cabeçalhos
morada.cidadeetags.0produzem{"morada": {"cidade": …}, "tags": [ … ]}. A ida e volta JSON → CSV → JSON devolve assim a estrutura original para dados típicos.
Se algumas linhas tiverem mais ou menos campos do que o cabeçalho, a conversão é feita na mesma, mas um aviso indica a linha da primeira linha irregular para que a possas verificar.
Perguntas frequentes
Os meus dados são enviados para algum lado?
Não. A conversão corre inteiramente no teu navegador. Nada do que colas ou abres é enviado para um servidor, por isso podes converter em segurança exportações com dados de clientes ou dados internos.
Porque é que o Excel mostra o meu CSV numa única coluna?
O Excel usa o separador de listas do sistema. Em muitas configurações regionais europeias, incluindo a portuguesa, esse separador é o ponto e vírgula. Escolhe Ponto e vírgula (;) como separador antes de converter, ou usa o assistente de importação do Excel e escolhe a vírgula.
Como são tratadas as listas de objetos aninhadas?
Com o achatamento ligado, cada elemento recebe o seu próprio conjunto de colunas, por exemplo orders.0.id e orders.1.id. Funciona bem com listas curtas. Para listas longas, costuma ser melhor converter essa lista sozinha, para que cada elemento passe a uma linha.
Porque é que os meus códigos postais perderam o zero inicial?
Quando Converter números e booleanos está ligado, 01234 é lido como o número 1234. Desliga a opção para manteres todos os valores exatamente como estão escritos no CSV.
Qual é o tamanho máximo?
Podem ser abertos ficheiros até 10 MB. Colar textos maiores também funciona, mas o navegador fica lento com áreas de texto muito grandes, por isso divide primeiro os ficheiros enormes.
Ferramentas relacionadas
- Formatador e validador de JSON Formatador e validador de JSON gratuito que formata, minifica e verifica JSON no teu navegador, com os erros de sintaxe indicados por linha e coluna.
- Conversor de JSON para YAML Converte JSON em YAML e YAML em JSON no teu navegador, com suporte de âncoras, merge keys e ficheiros com vários documentos. Nada é enviado.
- Conversor de JSON para XML Converte JSON em XML e XML em JSON no teu navegador, com atributos, elementos repetidos e CDATA tratados. Nada é enviado para um servidor.