Conversor de CSV para JSON

Conversor de CSV para JSON gratuito que também converte JSON em CSV. Trata aspas, quebras de linha dentro dos campos e ficheiros do Excel separados por ponto e vírgula, diretamente no seu navegador. Nada é enviado.

Acrescenta um apóstrofo antes de texto que comece por =, +, - ou @, para que o Excel não o execute como fórmula.

O que faz


CSV é uma tabela escrita como texto: um registo por linha, com os campos separados por um delimitador. Parece simples, e é por isso que os conversores se enganam sem avisar. Uma vírgula entre aspas faz parte do texto, não é uma nova coluna; uma quebra de linha entre aspas faz parte do campo, não é um novo registo; e o Excel em português, espanhol, francês ou alemão guarda com ponto e vírgula, porque aí a vírgula é o separador decimal. Este conversor lê CSV segundo as regras do RFC 4180, encontra o delimitador procurando aquele que dá a todas as linhas o mesmo número de colunas, e transforma cada linha num objeto JSON com as chaves do cabeçalho. No sentido inverso, cria uma coluna para cada chave que apareça em qualquer objeto, e não apenas no primeiro.

Como utilizar


  1. Cole o CSV ou o JSON, ou abra um ficheiro.
  2. Verifique as opções: delimitador, linha de cabeçalho e tipos de dados.
  3. Converta no sentido de que precisa e depois copie ou transfira o resultado.

Perguntas frequentes


Porque é que os meus códigos postais e IDs ficaram como texto?
Porque convertê-los em números alterá-los-ia. 007 passaria a 7, e um ID com mais de 16 algarismos seria arredondado em silêncio pelo JavaScript para outro número. Só se tornam números os valores que sobrevivem à ida e volta sem alteração; desative a conversão de tipos para manter tudo como texto.

O meu CSV veio do Excel e ficou tudo numa só coluna.
Provavelmente foi guardado com ponto e vírgula e lido com vírgulas. Deixe o delimitador em deteção automática, que verifica os quatro mais comuns, ou escolha ponto e vírgula manualmente.

Porque é que decimais como 4,50 ficam como texto?
Num ficheiro com ponto e vírgula, 4,50 é provavelmente quatro e meio, mas 1,500 pode ser um e meio ou mil e quinhentos, e adivinhar alteraria valores sem aviso. Converta-os no seu próprio programa, onde sabe qual é o caso.

Como é que os objetos aninhados passam a colunas?
Com o achatamento ativo, {"address": {"city": "Recife"}} passa a uma coluna chamada address.city. As listas, e os objetos quando o achatamento está desativado, são escritos como texto JSON dentro da célula, por isso nada se perde.

Porquê proteger contra fórmulas?
Os programas de folha de cálculo tratam uma célula que comece por =, +, - ou @ como fórmula, e uma fórmula pode ir buscar dados à internet ou executar comandos. Se os dados vieram de utilizadores ou de um site, ative a proteção antes de abrir o ficheiro no Excel. Os números negativos verdadeiros não são alterados.

RFC 4180 — CSV
Wikipedia — Comma-separated values
OWASP — CSV Injection