Ir para o conteúdo

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.

Conversor JSON ↔ YAML

🚀 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.