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.

Mais ferramentas relacionadas

Referências