Guia · Dados
JSON e CSV: como representar o mesmo conjunto de dados?
CSV representa registros em campos separados; JSON oferece objetos, listas e valores com estrutura explícita. Ambos podem trocar dados, mas exigem convenções de significado. Converter formatos pode perder tipos, hierarquia ou detalhes que não foram descritos.
Escrito pela equipe Compuzilla
Publicado em . Atualizado em .
Nesta leitura

JSON e CSV: como representar o mesmo conjunto de dados
- Dados e significado
- Convenção do formato
- Leitura pela aplicação
Duas pessoas em uma tabela
Considere os registros Ana, 20 anos, e Bia, 25 anos. Um CSV simples pode ser escrito assim:
nome,idade
Ana,20
Bia,25
O cabeçalho identifica os campos por convenção. O texto 20 precisa ser interpretado como idade pelo programa que lê; o formato básico não declara um tipo numérico de coluna como um esquema de banco.
Os mesmos registros em JSON
Uma representação possível usa uma lista de objetos:
[
{"nome": "Ana", "idade": 20},
{"nome": "Bia", "idade": 25}
]
Aqui, strings e números têm sintaxe distinta. Isso não impede uma aplicação de aceitar um valor incoerente: ainda é necessário definir quais valores de idade fazem sentido e quais campos são exigidos.
Campos com pontuação exigem regras
Se um nome contém uma vírgula, o CSV precisa usar a convenção apropriada de aspas. Quebras de linha também podem existir dentro de campos citados. Dividir o arquivo por cada vírgula e cada quebra de linha sem aplicar essas regras pode separar dados incorretamente.
JSON tem suas próprias regras de aspas e escape. Não aceita comentários nem vírgula depois do último item na sintaxe padronizada.
Estruturas que não são uma tabela simples
Um objeto JSON pode conter uma lista de telefones dentro de cada pessoa. Para levar isso a CSV, é preciso escolher uma convenção: campos extras, vários registros ou outro conjunto relacionado. Não existe uma conversão única que preserve todo significado automaticamente.
Nos dois formatos, codificação e contrato importam. Uma extensão reconhecida não prova que o conteúdo esteja correto nem explica se 0012 é um número ou um identificador que precisa conservar seus zeros.
Próxima leitura
Leia Unicode para entender a leitura dos caracteres representados em bytes.
Fontes para aprofundar
- IETF — RFC 8259, seções 2–8: valores, objetos, listas e UTF-8 (fonte primária)
- IETF — RFC 4180, seção 2: registros, cabeçalhos e aspas em CSV (fonte primária)