Conversor JSON ⇄ CSV
Funciona inteiramente no seu navegador. Seus arquivos e dados nunca saem do seu dispositivo.
Sobre esta ferramenta
Cole JSON para obtê-lo como CSV, ou cole CSV para transformá-lo de volta em JSON. Um array JSON de objetos vira linhas com um cabeçalho, e campos aninhados são achatados em colunas com notação de pontos, como address.city. No sentido inverso, cabeçalhos com pontos são reconstruídos como objetos aninhados, e o parser detecta o delimitador automaticamente ou usa o que você escolher.
Como a conversão lida com dados aninhados?
JSON costuma aninhar objetos dentro de objetos, mas uma linha de CSV é plana, então o conversor precisa fazer uma escolha. De JSON para CSV, ele achata cada objeto aninhado juntando as chaves com pontos: {"address": {"city": "Lyon"}} vira uma coluna chamada address.city com o valor Lyon. Arrays e qualquer valor que não caiba numa única célula são transformados em texto JSON no lugar, então os dados continuam ali, só que não espalhados em colunas.
De CSV para JSON, o processo é o inverso: uma coluna chamada address.city volta a ser um objeto address aninhado com um campo city. Cada célula também é interpretada quanto ao tipo. Células vazias viram null, true e false viram booleanos, números simples viram números, e qualquer célula que pareça um array ou objeto JSON é interpretada como tal. O resto continua como texto. O parser de CSV detecta o delimitador automaticamente (vírgula, ponto e vírgula, tab ou pipe), mas você pode forçar um específico se a detecção errar.
E se o meu JSON não for uma lista plana de objetos?
A direção JSON para CSV espera um array em que cada item é um objeto, porque é isso que mapeia para linhas e colunas. Se o valor de nível superior não for um array, ou se algum item dentro dele não for um objeto, a ferramenta para e indica qual índice falhou, em vez de tentar adivinhar um layout. Um objeto único, um número solto ou um array de strings não convertem direto. Nesses casos é preciso reestruturar os dados como um array de objetos antes, que também é o formato que a maioria das APIs já usa em respostas do tipo lista.
Meus dados são enviados para algum lugar?
Não. A análise e a conversão acontecem inteiramente no seu navegador em JavaScript, e nada do que você cola é enviado a um servidor. Isso torna a ferramenta segura para exportações de planilhas, dumps de banco de dados ou arquivos CSV com dados de clientes, identificadores internos ou qualquer outra informação que você não queira entregar a terceiros.
Usos comuns: transformar a resposta de uma API em um CSV para Excel ou Google Sheets, converter uma planilha exportada em JSON para um script ou fixture de teste, ou limpar dados antes de passá-los para outra ferramenta. A saída CSV segue a RFC 4180, e o JSON segue o formato descrito no MDN.