Também disponível em: English · Español · Français · العربية
Converter JSON para CSV
Cole uma lista de objetos JSON e receba uma tabela CSV, com fórmulas de planilha neutralizadas por padrão — processado inteiro no navegador.
O que é conversão de JSON para CSV?
Converter JSON para CSV significa pegar uma lista de objetos — cada um com suas próprias chaves, às vezes aninhadas, às vezes com um array dentro — e decidir como ela vira uma tabela com linhas e colunas fixas. Esta ferramenta faz isso colando o JSON de um lado e devolvendo CSV do outro, com o delimitador que você escolher, achatamento de objetos aninhados ligado por padrão, e a opção de neutralizar fórmulas de planilha — também ligada por padrão, porque essa parte é mais sobre segurança do que sobre formatação.
Diferente de simplesmente enfileirar as chaves do primeiro objeto e torcer, a ferramenta olha a lista inteira antes de desenhar o cabeçalho, porque em JSON de verdade — respostas de API, exports de banco de dados — nem todo registro tem as mesmas chaves. O fim de linha também é um controle, LF ou CRLF, porque o programa que vai abrir o CSV depois se importa com isso mesmo quando quem escreveu o arquivo não percebe. Ao final ela informa quantas linhas, quantas colunas e quantos valores foram neutralizados por segurança.
Como usar
- Cole o JSON uma lista de objetos, no campo de cima — pode ter chaves aninhadas ou arrays dentro dos objetos, a ferramenta lida com os dois.
- Escolha delimitador, achatamento e fim de linha o achatamento de objetos aninhados e a neutralização de fórmulas de planilha já vêm marcados; troque o delimitador e o fim de linha (LF ou CRLF) conforme o programa que vai abrir o arquivo.
- Copie o CSV confira quantas linhas, colunas e valores foram neutralizados por segurança, e clique em copiar.
O que muda quando você transforma um documento em tabela
Transformar uma lista de objetos numa tabela exige uma decisão que o JSON não toma sozinho: quais colunas existem. A ferramenta resolve isso com a união de todas as chaves de todos os registros, na ordem em que elas aparecem — então um registro que não tem um campo específico simplesmente deixa aquela célula em branco, em vez de deslocar o resto da linha para a esquerda.
Objetos aninhados são achatados com as chaves separadas por ponto — um campo nome dentro de um objeto usuario vira a coluna usuario.nome — porque é isso que a maioria das planilhas e dos scripts que leem CSV espera encontrar. Já arrays e objetos que sobram depois do achatamento, uma lista de tags por exemplo, são escritos como JSON dentro da própria célula: isso não perde informação nenhuma, e o valor original pode ser reconstruído lendo aquele texto de volta como JSON. As aspas em volta desses valores, e de qualquer campo que precise delas, seguem a mesma máquina de estados usada para ler CSV, e foram testadas no sentido contrário: 2.000 tabelas geradas ao acaso foram escritas com o próprio sistema de aspas da ferramenta e lidas de volta, e todas voltaram idênticas.
E existe uma razão de segurança, não só de formatação, para a caixa de neutralizar fórmulas vir marcada. Uma célula cujo valor começa com igual, mais, menos ou arroba é executada como fórmula no momento em que o Excel ou o Google Sheets abrem o arquivo — e se aquele dado veio de um formulário preenchido por outra pessoa, isso é execução de código na máquina de quem abrir, não força de expressão. A ferramenta coloca um apóstrofo na frente de qualquer valor assim antes de escrever a célula e informa quantos valores foram alterados; se tiver certeza de que os dados são confiáveis, dá para desligar.
Limitações honestas
As mesmas duas coisas que o CSV não representa continuam valendo quando a direção é essa: uma linha final vazia fica indistinguível de uma quebra de linha final, e depois de escrita, uma string vazia entre aspas não dá para diferenciar com segurança de um campo vazio de verdade. Nem toda ida e volta entre JSON e CSV é perfeitamente fiel — e isso é uma propriedade do formato CSV, não um defeito desta ferramenta em particular.
Aspas malformadas, se alguém editar o CSV depois e reabrir em outro programa, também não têm uma resposta certa. A RFC 4180 não define o que fazer quando uma aspa fecha no meio de um campo, e os leitores discordam entre si: o leitor de CSV para JSON deste mesmo site leria três campos onde o Papa Parse leria dois — divergência real, checada, não hipotética.
O trabalho desta ferramenta termina no momento em que o CSV é gerado — o que o Excel ou o Google Sheets fazem quando abrem esse arquivo depois já não está sob controle dela. Mesmo com fórmulas neutralizadas e aspas corretas, um programa de planilha ainda pode reinterpretar uma coluna inteira como data ou como número por conta própria, silenciosamente, na hora de abrir.
Por que é grátis?
Esta ferramenta é grátis pelo mesmo motivo que faz sentido para um dado que normalmente é sensível: o JSON que você cola nunca sai do seu navegador, porque é o seu próprio aparelho que faz a conversão, não um servidor nosso. Não tem conta, não tem marca d'água escondida atrás de um plano pago, não tem limite de linhas guardado para depois de um cadastro. Se o JSON é uma resposta de API com dados de clientes ou um dump de usuários que você precisa virar planilha rapidinho, ele some da aba do navegador quando você fecha, e nunca chegou a lugar nenhum antes disso.