JSON vs CSV: quando usar cada formato

Nao sabe se deve exportar os seus dados como JSON ou CSV? Este guia explica as principais diferencas, pontos fortes e casos de uso ideais para cada formato.

O que sao JSON e CSV?

JSON (JavaScript Object Notation) e CSV (Comma-Separated Values) sao dois dos formatos de intercambio de dados mais comuns na internet. Ambos sao texto simples, legiveis por humanos e suportados por praticamente todas as linguagens de programacao e ferramentas. Mas foram concebidos para casos de uso diferentes, e escolher o errado pode criar fricao desnecessaria a jusante.

A diferenca fundamental

CSV e um formato tabular e plano. Cada linha tem as mesmas colunas, tornando-o essencialmente uma folha de calculo em formato de texto. Foi concebido para conjuntos de dados simples e uniformes.

JSON e um formato hierarquico e estruturado. Pode representar objetos aninhados, arrays de tipos mistos e relacoes complexas, coisas impossivel de expressar de forma limpa em CSV.

Quando usar CSV

O CSV e a escolha certa quando:

  • Os dados sao tabulares, linhas de registos uniformes com os mesmos campos (lista de produtos, exportacao de contactos, numeros de vendas)
  • Precisa de compatibilidade com Excel ou Google Sheets, o CSV abre nativamente em qualquer folha de calculo sem plugins
  • O tamanho do ficheiro importa, o CSV nao tem caracteres de sobrecarga; para grandes conjuntos de dados planos e significativamente menor que o JSON equivalente
  • O publico nao e tecnico, analistas e utilizadores de negocio podem abrir e editar ficheiros CSV sem escrever qualquer codigo

Casos de uso tipicos de CSV: exportacoes de bases de dados, downloads de relatorios, importacoes em massa para CRMs, gestao de listas de distribuicao.

Quando usar JSON

O JSON e a melhor escolha quando:

  • Os dados tem estrutura aninhada, por exemplo, um objeto de utilizador que contem um objeto de morada e um array de encomendas
  • Esta a trabalhar com APIs, as APIs REST devolvem quase universalmente JSON; enviar CSV para um frontend e incomum e cria trabalho de analise extra
  • Os tipos de campo importam, o JSON distingue entre strings, numeros, booleanos e null; o CSV trata tudo como string
  • Precisa de arrays dentro de registos, representar tags, categorias ou varios valores por linha e simples em JSON, mas complicado em CSV (geralmente requer strings delimitadas ou duplicacao de linhas)

Casos de uso tipicos de JSON: respostas de API, ficheiros de configuracao, armazenamento NoSQL, serializacao do estado de aplicacoes.

Comparacao pratica

FuncionalidadeCSVJSON
Dados aninhadosNao suportadoNativo
Tipos (int, bool, null)NaoSim
Suporte Excel / SheetsNativoRequer plugin
Legibilidade humanaSimplesModerada
Tamanho tipico do ficheiro (dados planos)MenorMaior
Uso em APIsRaroPadrao

Conversao entre formatos

Com frequencia e necessario passar de um para o outro. Cenarios comuns:

  • Exportar uma tabela de base de dados como CSV e depois converter para JSON antes de enviar para um frontend
  • Receber uma resposta de API em JSON, aplanar para CSV para analise no Excel
  • Migrar dados de um sistema baseado em folha de calculo para um armazenamento NoSQL baseado em JSON

O Conversor JSON para CSV deste site trata a direcao mais comum (array JSON para CSV/Excel) inteiramente no seu browser, sem enviar dados para um servidor. Para a direcao inversa, a maioria das ferramentas de folha de calculo pode exportar para CSV, que depois pode ser processado por qualquer biblioteca JSON.

A resposta rapida

Use CSV para dados tabulares planos que precisam de funcionar em folhas de calculo. Use JSON para dados estruturados, aninhados ou ligados a APIs.

Em caso de duvida: se uma pessoa nao tecnica precisar de abrir e editar o ficheiro, use CSV. Se outro programa o vai consumir, use JSON.