Conversor JSON ↔ YAML
Conversor JSON ↔ YAML
Edite JSON e YAML lado a lado com sincronização bidirecional instantânea. Suporta ajuste de indentação, ordenação de chaves e divisão em multi-documento YAML. Útil para configurações Kubernetes/Helm/CI e depuração de APIs.
🚀 Início rápido
- Cole ou digite JSON no editor esquerdo e YAML à direita será atualizado automaticamente.
- Você também pode digitar YAML à direita e JSON à esquerda é atualizado automaticamente.
- A sincronização é totalmente bidirecional. Nenhuma mudança de modo é necessária: edite um dos lados e o outro lado será atualizado instantaneamente.
- Use a barra de ferramentas superior para definir o recuo JSON/YAML, ativar a classificação de chaves e alternar a saída YAML de vários documentos.
- Pressione Tab no editor para inserir recuo em vez de mover o foco.
- Cada editor possui botões Copiar e Limpar no canto superior direito. Limpar um dos lados limpa ambos os lados.
📌 Cenários comuns
- Autoria Kubernetes: converta manifestos de recursos K8s entre YAML e JSON para inspecionar a estrutura de qualquer visualização.
- Depuração de valores do Helm: converta valores.yaml em JSON para inspecionar tipos e aninhamento em seu IDE.
- Pipelines de CI/CD: converta rapidamente snippets entre GitHub Actions (YAML) e sistemas de CI que usam JSON.
- Depuração de API: converta cargas JSON em YAML para uma visão hierárquica mais clara.
- Migração de configuração: conversão em lote de arquivos de configuração entre YAML e JSON.
- Formatação e validação: verifique a sintaxe JSON/YAML por meio de sincronização bidirecional, com localização de erro de linha/coluna.
🧭 Dicas de uso
- Um recuo JSON de 2 espaços funciona na maioria dos casos; use 4 espaços para aninhamento profundo ou arquivos de valores Helm.
- Ative a ordenação de chaves para exibir as chaves de objetos em ordem alfabética. Isso facilita a comparação de diferenças de configuração.
- Quando a raiz JSON for uma matriz, habilite o YAML de vários documentos para dividir cada elemento em um documento separado (---), útil para arquivos K8s de vários recursos.
- Se a entrada for inválida, o editor mostra um erro com detalhes de linha/coluna; o outro lado mantém seu último conteúdo válido.
- Para conteúdo grande, cole primeiro e aguarde a sincronização, depois continue editando para evitar reconversão excessiva.
⚠️ Limitações e compatibilidade
- A análise YAML segue a especificação YAML 1.2. Alguns comportamentos específicos do YAML 1.1 (por exemplo, conversão booleana automática sim/não) podem ser diferentes.
- Os números JSON seguem os limites do JavaScript IEEE 754. Números inteiros além da precisão segura de 53 bits podem perder precisão.
- Âncoras e aliases YAML (&, *, <<) são expandidos para valores concretos quando convertidos para JSON; as referências não podem ser preservadas.
- Os comentários YAML são descartados durante a conversão porque o JSON não oferece suporte a comentários.
🔒 Privacidade e segurança
- Todo o processamento acontece localmente no seu navegador. Seus dados nunca saem do seu dispositivo.
❓ Perguntas frequentes
Qual é a diferença entre JSON e YAML e quando devo usar cada um?
JSON e YAML podem representar os mesmos tipos de dados (objetos, matrizes, strings, números), mas sua sintaxe é diferente: • JSON usa colchetes/colchetes e aspas duplas, tem sintaxe mais restrita e não suporta comentários. • YAML usa recuo para hierarquia, é mais legível e suporta comentários, mas é sensível a espaços em branco. Regra prática: • Para APIs e troca de dados entre máquinas, prefira JSON. • Para configurações do Kubernetes/Helm/CI que são editadas frequentemente por humanos, prefira YAML. • Você pode converter entre eles sem alterar o modelo de dados.
Por que sim/não/ligado/desligado em YAML se torna verdadeiro/falso após a conversão?
Isso vem do comportamento legado do YAML 1.1, onde sim/não/ligado/desligado/s/n pode ser analisado como booleano. Esta ferramenta segue YAML 1.2, onde apenas verdadeiro/falso são booleanos. Se você precisar de valores de string, coloque-os entre aspas (por exemplo, "sim").
Por que os comentários YAML desaparecem após a conversão para JSON?
JSON (RFC 8259) não permite comentários. Portanto, os comentários YAML não podem ser preservados na conversão YAML → JSON e não podem ser reconstruídos durante a conversão novamente. Mantenha o arquivo YAML original se os comentários forem importantes.
O que --- significa em YAML?
--- é o separador de documentos do YAML, usado para armazenar vários documentos independentes em um arquivo. Isso é comum no Kubernetes, onde um arquivo pode conter definições de implantação, serviço e ConfigMap. Esta ferramenta lê YAML de vários documentos como uma matriz JSON e também pode dividir uma matriz JSON novamente em documentos YAML separados.
O que devo fazer se a precisão numérica for perdida após a conversão?
JavaScript usa números de precisão dupla IEEE 754. Os números inteiros seguros variam de -(2^53-1) a 2^53-1 (±9007199254740991). Inteiros maiores (por exemplo, IDs do Snowflake ou carimbos de data/hora de 64 bits) podem perder precisão. Para preservar valores exatos, armazene-os como strings, como "9007199254740992".
O que acontece com as âncoras YAML (& e *) durante a conversão?
Âncoras (&nome) e aliases (*nome) são recursos de reutilização específicos do YAML. JSON não possui mecanismo de referência equivalente, portanto, os aliases são expandidos em cópias completas durante a conversão. Esta é uma transformação com perdas e a estrutura âncora original não pode ser restaurada automaticamente.