Sobre esta ferramenta
Comparação directa entre seis formatos de serialização de dados muito usados: JSON, YAML, XML, TOML, INI e CSV. Para cada um vês sintaxe lado a lado, pontos fortes, pontos fracos e em que contexto faz sentido escolhê-lo. Útil para decidir o formato de configuração de uma aplicação nova, para perceber rapidamente um formato com que não estás familiarizado, ou para sustentar uma decisão técnica com argumentos concretos.
Como usar
- Lê a tabela comparativa para teres uma visão geral das características de cada formato.
- Compara os exemplos lado a lado, todos representam o mesmo objecto para facilitar a comparação.
- Decide com base no contexto, há formatos melhores para configuração editada à mão e outros melhores para troca entre sistemas.
Perguntas frequentes
- Qual o formato mais usado hoje?
- JSON na web, sem dúvidas, é o formato dominante em APIs REST e em configuração frontend. YAML domina em DevOps e infraestrutura, sobretudo em pipelines de CI e definições de containers. XML mantém-se em ambientes empresariais e em formatos com estrutura documental complexa. TOML cresceu muito no ecossistema de ferramentas de desenvolvimento. CSV continua a ser o padrão para dados tabulares.
- Posso converter entre formatos?
- Sim, na maior parte dos casos. JSON, YAML e TOML têm modelos de dados próximos e a conversão entre eles é quase directa. XML é mais complexo por causa de atributos e conteúdo misto, mas há mapeamentos comuns. CSV só representa tabelas, portanto a conversão para hierárquico ou de hierárquico para CSV exige decisões sobre como aplanar a estrutura.
- Porque é que YAML é tão problemático?
- Tem uma especificação maior do que aparenta. Algumas palavras-chave ("yes", "no", "on", "off") são interpretadas como booleanos, números com zeros à esquerda podem ser lidos como octal, e a indentação por espaços ou tabs causa erros silenciosos. As versões mais recentes (YAML 1.2) resolveram alguns destes pontos, mas é preciso estar atento ao modo estrito do parser.
- JSON5 e JSONC resolvem a falta de comentários do JSON?
- Sim, são variantes do JSON que adicionam comentários e alguma flexibilidade extra (vírgulas pendentes, chaves sem aspas). Não são standards universais, mas são suportados em ambientes específicos como editores de código. Para troca entre sistemas, mantém JSON puro para garantir compatibilidade.
- Quando devo escolher TOML em vez de YAML?
- TOML é melhor quando queres uma sintaxe limpa para configuração mas sem as armadilhas da indentação significativa. Para ficheiros de configuração de projecto com estrutura média, TOML costuma ser menos propenso a erros. YAML é melhor para estruturas muito profundas ou quando precisas de referências internas e funcionalidades avançadas.