O que a conversão de JSON para CSV realmente manipula
JSON é hierárquico. CSV é plano. Converter JSON para CSV significa decidir o que fazer com objetos aninhados, o que fazer com arrays e qual delimitador torna a saída compatível com a ferramenta de planilha ou pipeline que você está prestes a colar.
Objetos aninhados tornam-se colunas com notação de ponto. Um objeto JSON {"user": {"name": "Ana", "age": 33}} torna-se colunas CSV user.name,user.age com valores Ana,33 na mesma linha. Sem o achatamento, a coluna user conteria a string [object Object] e o resto da hierarquia seria perdido.
Arrays apresentam três opções. Você pode juntar itens do array em uma célula com um separador como |, dividir cada item do array em uma nova linha e repetir os campos pai, ou converter o array em uma string JSON dentro de uma única célula CSV. A escolha correta depende do que você vai importar. Usuários de Excel geralmente querem linhas divididas. Importações de banco de dados geralmente querem uma junção.
Delimitadores importam porque CSV significa valores separados por vírgula, mas muitas regiões e plataformas esperam ponto-e-vírgulas, e arquivos delimitados por tabulação evitam problemas de escape quando vírgulas aparecem nos seus dados. O conversor permite que você escolha vírgula, ponto-e-vírgula, tabulação ou pipe.
O modo reverso lê CSV e converte de volta para JSON. Você escolhe se a primeira linha contém cabeçalhos, se colunas com notação de ponto devem ser aninhadas novamente em objetos e se deve gerar um array de objetos ou um único objeto com chaves de linha.
Como usar este conversor de JSON para CSV
- Cole JSON em JSON ou entrada CSV, ou arraste uma URL se seu JSON estiver em um endpoint de API e nós o buscaremos para você.
- Configure o Modo para JSON → CSV ou CSV → JSON.
- Escolha seu Delimitador. Vírgula é o padrão. Mude para ponto-e-vírgula se você estiver enviando para Excel em um locale europeu, tabulação se seu JSON contiver vírgulas em valores de string, ou pipe se estiver canalizando a saída para um script Unix.
- Ative Achatar chaves aninhadas com notação de ponto se seu JSON tiver mais de um nível de aninhamento. Desative se quiser que objetos aninhados sejam convertidos em string em células únicas.
- Clique em Converter. Você vê uma tabela de visualização mostrando as primeiras 20 linhas e todas as colunas. Verifique se o achatamento e a manipulação de arrays correspondem às suas expectativas.
- Clique em Download CSV para salvar o arquivo, ou copie a saída e cole-a diretamente no Google Sheets, Excel ou sua ferramenta de importação de banco de dados.
Tente colar este JSON:
[
{"product": "Widget A", "sales": {"Q1": 1200, "Q2": 1450}, "tags": ["new", "sale"]},
{"product": "Widget B", "sales": {"Q1": 980, "Q2": 1100}, "tags": ["featured"]}
]
Com achatamento ativado e delimitador definido como vírgula, a saída é:
product,sales.Q1,sales.Q2,tags
Widget A,1200,1450,new|sale
Widget B,980,1100,featured
Sem achatamento, a coluna sales mostra [object Object] e você perde o detalhamento trimestral. O padrão de junção de array usa | como separador. Mude para o modo split-rows e você obtém quatro linhas: uma por tag por produto.
Por que a conversão de JSON para CSV é importante para fluxos de trabalho de dados
Arquivos planos são o formato universal de intercâmbio. JSON é o formato de saída de todas as APIs modernas, painéis de análise e webhooks. Se seu fluxo de trabalho envolve pegar dados de um sistema e colocá-los em outro, você converterá JSON para CSV pelo menos uma vez por semana.
Exportações de API. A maioria das APIs REST retorna JSON por padrão. Google Analytics Data API, relatórios do Stripe, versões do GitHub, exportações do Airtable — tudo JSON. Carregar esses dados no Power BI, Tableau ou um banco de dados SQL é mais rápido quando chega como CSV. Você pode automatizar a conversão, mas verificar a saída manualmente primeiro detecta surpresas de schema antes que se tornem erros de pipeline.
Pipelines de transformação de dados. Fluxos de trabalho de ETL geralmente se dividem em um estágio de busca que puxa JSON e um estágio de carregamento que espera CSV. Achatar JSON aninhado no navegador antes do carregamento economiza tempo em escrever e manter um script de transformação. Para migrações únicas ou análise exploratória, este conversor termina o trabalho em menos de um minuto.
Importações de planilha. Analistas que não escrevem código ainda podem importar dados de API se tiverem uma maneira de converter JSON em CSV. Google Sheets e Excel lidam com colagem e importação de arquivo CSV. Nenhum deles manipula JSON bruto a menos que você escreva um script. Esta ferramenta fecha a lacuna.
A escolha do delimitador evita corrupção silenciosa de dados. CSV delimitado por vírgula quebra quando um campo de texto contém uma vírgula, a menos que cada valor seja entre aspas e o caractere de aspas seja escapado. Delimitadores de tabulação e ponto-e-vírgula contornam esse problema na maioria dos conjuntos de dados. Se seu JSON inclui endereços, descrições de produtos ou texto gerado pelo usuário, mude para tabulação.
Achatamento de JSON aninhado explicado
CSV plano tem uma linha por registro e um valor por coluna. JSON aninhado tem objetos dentro de objetos. O achatamento fecha a lacuna transformando cada nível de aninhamento em um nome de coluna com um separador de ponto.
Um objeto JSON com três níveis:
{
"company": "Acme Inc",
"contact": {
"person": "Jane Doe",
"email": {"work": "[email protected]", "personal": "[email protected]"}
}
}
torna-se quatro colunas CSV:
company,contact.person,contact.email.work,contact.email.personal
Acme Inc,Jane Doe,[email protected],[email protected]
Notação de ponto preserva a hierarquia original de uma forma que você pode reverter. Alguns conversores de CSV para JSON reconhecem colunas com notação de ponto e reconstroem a estrutura aninhada. Se você deixar o achatamento desativado, o conversor converte objetos aninhados em uma única célula. Essa saída é legível em uma planilha, mas não reversível em dados estruturados.
Arrays dentro de objetos apresentam uma escolha. Se um objeto tem "tags": ["new", "sale", "limited"] você pode juntar o array em uma célula como new|sale|limited, dividir em três linhas com as outras colunas repetidas, ou converter o array em uma fragmento JSON ["new","sale","limited"]. O modo de junção mantém uma linha por registro e é o padrão. O modo de divisão é útil quando o array representa uma relação um-para-muitos. O modo de stringify preserva informações de tipo, mas torna o CSV mais difícil de consultar.
Quando seu JSON inclui tipos mistos — alguns registros têm um array onde outros têm uma string única — o conversor os normaliza envolvendo valores únicos em um array antes de aplicar a regra de manipulação de array escolhida. Isso evita colunas ausentes e mantém o schema CSV consistente.
Erros comuns
- Colar um fragmento JSON em vez de uma estrutura completa. O conversor espera JSON válido: um array de objetos
[{…}, {…}]ou um único objeto{…}. Se você colar uma resposta de API truncada ou um fragmento JSON sem chaves de fechamento, o analisador lança um erro. Copie a resposta completa. - Deixar achatamento ativado quando você quer legibilidade em vez de reversibilidade. Nomes de coluna achatados como
meta.author.profile.urlsão difíceis de verificar em uma planilha. Se você apenas precisa ler os dados e não converterá de volta para JSON, desative o achatamento e aceite objetos aninhados em forma de string. - Usar delimitador de vírgula quando seus dados têm vírgulas. Endereços, nomes completos e descrições de produtos quase sempre incluem vírgulas. Se seu JSON contiver quaisquer campos de texto livre, mude para delimitador de tabulação ou pipe antes de converter. Caso contrário, você abrirá o CSV no Excel e verá colunas deslocadas.
- Esquecer que arquivos grandes excedem a memória do navegador. Este conversor funciona no lado do cliente. Se seu JSON for maior que 50 MB, o navegador pode congelar ou travar. Para conjuntos de dados desse tamanho, use uma ferramenta de linha de comando como
jqoucsvkit. - Não visualizar a saída antes de baixar. A tabela de visualização mostra as primeiras 20 linhas e todas as colunas. Verifique. Um delimitador errado ou uma divisão de array surpreendente pode dobrar a contagem de linhas e quebrar importações subsequentes. Corrigir depois de baixar desperdiça tempo.
Dicas avançadas
- Valide seu JSON primeiro. Se o conversor lança um erro de sintaxe e você não consegue encontrar o problema a olho nu, cole seu JSON em um validador como
jsonlint.comou execute-o através dejq .na linha de comando. A mensagem de erro apontará para o número da linha. - Use o modo reverso para fazer uma volta completa com seus dados. Converta JSON para CSV, edite o CSV em sua planilha, depois converta de volta para JSON. Este fluxo de trabalho é mais rápido do que escrever um script quando você precisa fazer edição em massa de propriedades de objeto.
- Para JSON profundamente aninhado, primeiro achate e depois filtre colunas em sua ferramenta de planilha. Uma hierarquia de dez níveis produz dezenas de colunas com notação de ponto. A maioria delas está vazia para a maioria das linhas. Delete as colunas vazias após a importação.
- Salve a visualização como uma captura de tela antes de baixar. Se você estiver convertendo dados de API para um relatório ou auditoria, a visualização oferece evidência da estrutura e contagem de linhas. As partes interessadas perguntarão "quantos registros você importou?" e a captura de tela responde.
- Ao trabalhar com arrays de primitivos como
["red", "blue", "green"], o modo de junção com delimitador de pipe é quase sempre a escolha correta. O modo de divisão só faz sentido quando cada elemento do array precisa de sua própria linha para normalização de banco de dados.
Depois de ter seu CSV, o próximo passo geralmente é filtrar ou reformulá-lo. Se seu CSV inclui uma coluna de palavra-chave e você quer combiná-la com outras listas, execute-a através de nosso combinador de palavras-chave para gerar permutações. Se você estiver criando URLs a partir das linhas CSV, alimente a coluna relevante no gerador de slug para produzir slugs de URL limpos em massa. Quando seu CSV é o resultado de uma auditoria SEO e você quer validar a estrutura, use a checklist de SEO para confirmar que cada campo que você precisa está presente.