Conversor JSON <-> YAML
Converta JSON para YAML e YAML para JSON instantaneamente.
O que é JSON e YAML?
JSON (JavaScript Object Notation) e YAML (YAML Ain't Markup Language) são formatos de serialização de dados populares. JSON é o padrão para APIs web e troca de dados, enquanto YAML é preferido para arquivos de configuração devido à sua sintaxe legível por humanos. Esta ferramenta permite converter entre eles instantaneamente.
Entendendo JSON
- O padrão universal para APIs REST e troca de dados web
- Sintaxe estrita exigindo aspas duplas em chaves e strings
- Suporte nativo de análise em JavaScript e na maioria das linguagens
- Não permite comentários, mantendo o formato puro para dados
- Compacto e eficiente para transmissão em rede
Entendendo YAML
- Projetado para legibilidade humana com sintaxe mínima
- Usa indentação (espaços, não tabs) para definir estrutura
- Suporta comentários com o símbolo # para documentação
- Padrão para Docker Compose, Kubernetes, Ansible e pipelines CI/CD
- Suporta strings multilinha e tipos de dados complexos
Quando usar cada formato
JSON
Use JSON para respostas e requisições de API, armazenamento em bancos como MongoDB, localStorage do navegador e qualquer comunicação máquina-a-máquina onde velocidade de análise importa.
YAML
Use YAML para arquivos de configuração, infraestrutura como código (Terraform, Kubernetes), fluxos de trabalho CI/CD (GitHub Actions, GitLab CI) e qualquer arquivo que humanos lerão e editarão frequentemente.
Diferenças chave de sintaxe
Entender as diferenças ajuda a evitar erros de conversão:
- JSON exige aspas duplas em todas as chaves e strings. Aspas em YAML são opcionais para a maioria das strings.
- JSON usa vírgulas para separar itens. YAML usa quebras de linha e indentação.
- JSON usa {} e [] para objetos e arrays. YAML usa indentação e hífens (-) para listas.
- Ambos suportam true/false, mas YAML também aceita yes/no e on/off como booleanos.
- JSON usa null. YAML aceita null, ~ ou simplesmente deixar vazio.
Armadilhas comuns de conversão
Cuidado com estes problemas ao converter entre formatos:
- Comentários YAML (linhas começando com #) são perdidos ao converter para JSON, pois JSON não suporta comentários.
- Strings multilinha YAML usando | ou > são convertidas para strings de linha única com sequências de escape \n em JSON.
- Âncoras YAML (&) e aliases (*) para reutilizar conteúdo não têm equivalente JSON e são expandidos.
- YAML autodetecta tipos, então 'yes' vira um booleano. Use aspas se precisar da string literal.
- YAML é sensível à indentação. Espaçamento inconsistente causará erros de análise.
Melhores práticas
- Sempre valide sua saída após converter, especialmente para arquivos de configuração usados em produção.
- Mantenha backups de arquivos originais antes de converter, particularmente para configurações complexas.
- Use indentação consistente (2 ou 4 espaços) em YAML para melhor legibilidade.
- Teste arquivos de configuração convertidos em ambiente de staging antes de implantar em produção.
Perguntas Frequentes
A conversão é segura e privada?
Absolutamente. Toda a conversão acontece 100% no seu navegador com JavaScript. Seus dados nunca saem do seu computador e nunca são enviados a um servidor. Isso torna seguro para arquivos de configuração sensíveis e respostas de API.
Posso converter arquivos grandes?
Sim, a ferramenta pode lidar com arquivos grandes, mas o desempenho depende do seu navegador e dispositivo. Para arquivos acima de 1MB, você pode notar um leve atraso. Para arquivos muito grandes (10MB+), considere ferramentas de linha de comando como yq para melhor desempenho.
O que acontece com comentários YAML na conversão?
Como JSON não suporta comentários, quaisquer comentários YAML (linhas começando com #) são perdidos ao converter para JSON. Se precisar preservar a documentação, considere mantê-la em um arquivo separado ou converter apenas as partes de dados.
Por que meu YAML tem aspas após converter de JSON?
O conversor adiciona aspas em strings que poderiam ser mal interpretadas como outros tipos. Por exemplo, 'yes' sem aspas em YAML vira um booleano. Aspas garantem que o valor permaneça como string. Você pode remover as aspas desnecessárias manualmente se desejar.
Posso converter objetos e arrays aninhados?
Sim, o conversor lida com estruturas profundamente aninhadas, arrays de objetos e tipos de dados mistos. Tanto JSON quanto YAML suportam os mesmos tipos de dados fundamentais, então estruturas complexas convertem perfeitamente.
Qual versão de YAML esta ferramenta suporta?
Esta ferramenta usa YAML 1.2, que é o padrão atual. É compatível com o YAML usado por Docker, Kubernetes, GitHub Actions e a maioria das ferramentas modernas. Note que algumas ferramentas mais antigas podem usar YAML 1.1, que tem regras de coerção de tipo ligeiramente diferentes.