18Docs

CSV, JSON, YAML ou XML: qual usar?

CSV, JSON, YAML e XML guardam dados estruturados, mas cada um foi feito para uma finalidade diferente. Escolher o formato certo — e saber como converter entre eles — evita muita dor de cabeça na hora de mover dados entre planilhas, código, arquivos de configuração e APIs.

Para que cada formato serve

O CSV é uma tabela simples: linhas e colunas, nada além disso. É perfeito para planilhas e exportações tabulares, e praticamente qualquer programa consegue ler — mas não representa hierarquia nem aninhamento. O JSON é a linguagem das APIs e dos apps modernos: compacto, aceita objetos e listas aninhados, e é fácil de ler por código. O YAML é o primo mais amigável do JSON, usa recuo (indentação) em vez de colchetes, e por isso domina os arquivos de configuração. O XML é o mais antigo e detalhado dos quatro, ainda muito usado em sistemas corporativos, formatos de documento e APIs mais velhas.

Como converter entre eles sem bagunçar nada

Converter dados simples é tranquilo: uma tabela CSV vira facilmente uma lista de objetos em JSON, YAML ou registros XML. O problema aparece quando há aninhamento — o CSV não consegue representar a estrutura aninhada que JSON, YAML e XML conseguem, então converter um JSON com vários níveis para CSV significa achatar essa estrutura, o que pode perder parte da hierarquia. Já ir do CSV para o JSON costuma ser tranquilo.

Ao converter, fique de olho nos tipos e na codificação: números, valores booleanos e datas devem continuar com o tipo certo, e textos com vírgulas ou caracteres especiais precisam de aspas corretas. Um bom conversor cuida disso para você, e fazer isso direto no navegador mantém os dados — que podem ser sensíveis — longe de qualquer servidor.

Perguntas frequentes

Por que meu JSON com estrutura aninhada não converte direito para CSV?
O CSV é uma tabela simples e não representa aninhamento. Um JSON com níveis internos precisa ser achatado para caber nas colunas, o que pode perder parte da hierarquia.
Qual formato é melhor para arquivos de configuração?
O YAML é muito usado em configurações porque seu estilo baseado em indentação é fácil de ler e editar; o JSON também é comum quando as ferramentas usadas preferem esse formato.