JSON e CSV: transfira dados sem perder o significado
Uma conversão bem-sucedida não é apenas um arquivo que abre. Um identificador precisa continuar identificador; um preço, preço; e um dado ausente, ausente. Erros de tipo ou estrutura podem passar sem mensagem de erro.
Linhas simples ou dados aninhados?
CSV serve para tabelas de linhas e campos. JSON representa valores com tipos, listas e objetos aninhados. Se um registro tiver vários endereços ou produtos, defina como distribuí-los em colunas antes de exportar para CSV. Não existe uma única tabela correta para toda estrutura.
Referências: IETF RFC 8259 — JSON Data Interchange Format · IETF RFC 4180 — Common CSV Format
Formatar não é validar
Formatar JSON deixa a indentação mais legível, mas não prova que um preço ou uma data estejam corretos. A validação por esquema verifica tipos declarados e campos obrigatórios; o significado continua dependendo das regras da aplicação.
Em JSON, uma string entre aspas difere de um número. Em CSV, campos com vírgulas ou quebras de linha precisam das aspas apropriadas; aspas dentro de um campo entre aspas são duplicadas.
Referências: IETF RFC 8259 — JSON Data Interchange Format · IETF RFC 4180 — Common CSV Format
O que conferir depois da conversão
Guarde o original. Compare a quantidade de registros e os nomes das colunas; depois revise um registro comum e outro com valores vazios, pontuação ou texto multilíngue. Abra o resultado no aplicativo que vai recebê-lo: o conversor não garante as escolhas de importação desse programa.
- Mantenha identificadores como 0017 como texto quando os zeros fizerem parte deles.
- Não trate vazio, null e 0 como equivalentes sem uma decisão explícita.
- Use amostras fictícias, não credenciais ou registros pessoais reais.
- Trate CSV não confiável com cuidado em planilhas: algumas células podem ser interpretadas como fórmulas.
Referências: OWASP — CSV Injection
Exemplo: vírgula dentro de um nome
JSON de exemplo: {"sku":"0017","name":"Caderno, azul","price":12.5}. Em CSV separado por vírgulas, coloque o nome entre aspas: 0017,"Caderno, azul",12.5.
Na importação, confira se sku continua 0017, e não 17, e se o nome não virou 2 colunas. Gerar um arquivo, sozinho, não comprova nenhuma dessas condições.