De CSV para JSON
CSV (Comma-Separated Values) organiza dados em linhas e colunas separadas por um delimitador, geralmente vírgula, enquanto JSON representa a mesma informação como uma lista de objetos, um para cada linha, com os nomes das colunas como chaves. Se a primeira linha do CSV for tratada como cabeçalho, cada valor da linha seguinte é associado ao nome de coluna correspondente na mesma posição.
Campos entre aspas e caracteres especiais
Quando um valor precisa conter o próprio delimitador, como uma vírgula dentro de um nome ("Silva, João"), o padrão CSV exige colocar esse valor entre aspas duplas. Se o valor também tiver uma aspa dupla dentro dele, ela é representada como duas aspas duplas seguidas (""). O conversor desta página entende corretamente esse formato, incluindo campos com quebras de linha dentro das aspas, nos dois sentidos da conversão.
De JSON para CSV
Para converter um array de objetos JSON em CSV, a ferramenta reúne todas as chaves usadas em qualquer um dos objetos e as transforma nas colunas do cabeçalho. Cada objeto do array vira uma linha, com os valores posicionados na coluna correspondente à sua chave. É comum uma API retornar objetos onde nem todos têm exatamente os mesmos campos; nesses casos, o conversor monta um cabeçalho completo e deixa em branco a célula de qualquer linha que não tenha aquela chave específica.
Limitações com dados aninhados
CSV é fundamentalmente um formato de tabela simples, de duas dimensões, sem um jeito nativo de representar objetos dentro de objetos. Se um valor do JSON for outro objeto, ele aparecerá na célula como texto genérico (algo como "[object Object]"), e se for um array, os itens serão unidos em uma única célula separados por vírgula. Para converter corretamente dados aninhados, o recomendado é achatar (flatten) a estrutura antes, transformando campos aninhados em colunas próprias, como "endereco_cidade" em vez de um objeto "endereco" com uma propriedade "cidade" dentro.
Escolhendo o delimitador certo
A vírgula é o delimitador padrão internacional, mas em países onde a vírgula é usada como separador decimal, como o Brasil, é comum encontrar arquivos CSV usando ponto e vírgula para evitar ambiguidade com números como "3,14". Arquivos TSV (Tab-Separated Values), exportados por algumas ferramentas, usam tabulação em vez de vírgula ou ponto e vírgula. Se o Excel abrir tudo em uma única coluna ao importar o CSV gerado, tente trocar para ponto e vírgula, já que essa costuma ser a configuração regional padrão no Brasil.
Convertendo números automaticamente
Por padrão, todo valor em um CSV é texto simples. A opção "converter números automaticamente" identifica valores que parecem números (como "28" ou "3.14") e os transforma em números de verdade no JSON gerado, em vez de mantê-los como texto entre aspas. Isso é útil quando o JSON será usado por um programa que espera valores numéricos para cálculos.