Saída CSV
O JSON de exemplo produz este CSV:
name,age,email
Alice,30,alice@example.com
Bob,25,bob@example.com
Cada objeto no array se torna uma linha. As chaves name, age e email se tornam cabeçalhos de coluna na ordem em que aparecem no primeiro objeto.
Como Arrays JSON são Mapeados para CSV
CSV é fundamentalmente um formato tabular. Requer um conjunto uniforme de colunas em todas as linhas, o que significa que sua entrada JSON deve ser um array de objetos com uma estrutura consistente.
| JSON | CSV |
|---|---|
| Array de objetos | Linhas com cabeçalho |
| Chaves de objeto | Cabeçalhos de coluna |
| Valores de objeto | Valores de célula |
| Chave faltante | Célula vazia |
| Objeto aninhado | Nome de coluna achatado |
| Valor de array | String unida na célula |
O conversor escaneia todos os objetos no array, coleta a união de suas chaves e usa esse conjunto como cabeçalhos de coluna. Cada objeto se torna uma linha com valores colocados sob a chave correspondente.
Quando Converter JSON para CSV
Análise de Planilhas
Excel, Google Sheets e Numbers leem CSV nativamente. Se seus dados vivem em uma API JSON ou exportação de banco de dados, convertê-los para CSV permite abri-los em uma planilha para ordenação, filtragem, tabelas dinâmicas e gráficos sem escrever código.
Importação de Dados
A maioria das ferramentas de importação de dados aceita CSV: carregadores em massa de banco de dados, pipelines ETL, sistemas CRM e plataformas de análise. Converter JSON para CSV permite mover dados de uma API web para esses sistemas através de um formato padrão.
Email e Relatórios
Muitas ferramentas de negócio geram relatórios como CSV para anexos de email. Se está construindo um sistema que produz JSON, converter para CSV produz um arquivo universalmente legível que stakeholders não técnicos podem abrir em qualquer aplicação de planilha.
Troca de Dados
CSV é a língua franca da troca de dados entre organizações. Quando precisa compartilhar dados estruturados com um parceiro que usa uma stack tecnológica diferente, CSV evita negociação de formatos porque cada linguagem e ferramenta pode ler.
Tratamento de Casos Extremos
Vírgulas em Valores
CSV usa vírgulas como delimitadores, então valores contendo vírgulas devem ser envolvidos em aspas. O conversor trata isso automaticamente: um valor como "Istanbul, Turkey" se torna "Istanbul, Turkey" na célula CSV.
Quebras de Linha em Valores
Strings JSON multilinha quebram limites de linhas CSV a menos que o valor esteja entre aspas. O conversor envolve valores com quebras de linha em aspas duplas, que é o escape CSV padrão para esse caso.
Unicode e Caracteres Especiais
Arquivos CSV precisam de codificação adequada. UTF-8 é o padrão seguro. O conversor produz CSV codificado em UTF-8, que Excel e a maioria das ferramentas modernas tratam corretamente. Versões antigas do Excel no Windows podem precisar que o arquivo seja salvo com BOM (marca de ordem de bytes) para exibir caracteres não ASCII corretamente.
Limitações de JSON para CSV
CSV não pode representar dados hierárquicos. Se seu JSON tem estruturas profundamente aninhadas, você perde a informação de aninhamento ao converter para CSV. Os nomes de colunas achatados preservam o caminho, mas o consumidor deve parseá-los de volta. Para dados verdadeiramente hierárquicos, mantenha-se com JSON ou converta para um formato que suporte aninhamento como XML ou YAML.
Relações um-para-muitos (como um usuário com múltiplos endereços) são particularmente desconfortáveis em CSV. Ou você duplica a linha do usuário para cada endereço ou une os endereços em uma única célula, ambas tornam mais difícil o processamento posterior.