SS Toolbox
SS Toolbox
Todos os dados são processados localmente

YAML para JSON e JSON para YAML — conversor que não preserva comentários

Converta configurações YAML de Kubernetes, docker-compose ou GitHub Actions em JSON e vice-versa no navegador. É uma nova serialização, não um ida e volta sem perdas: comentários, âncoras e documentos múltiplos são perdidos, e valores sem aspas seguem as regras de tipagem do YAML.

O que este conversor faz — e o que ele perde

  1. Duas direções, um botão para cada

    YAML → JSON e JSON → YAML são ações separadas. O resultado sobrescreve o outro editor e nunca é mesclado ao texto existente.

  2. Comentários sempre se perdem

    Os comentários YAML são descartados na análise e o YAML gerado nunca inclui comentários. O JSON não tem sintaxe de comentário.

  3. Âncoras são expandidas, documentos múltiplos falham

    Os pares &anchor / *alias são resolvidos em objetos duplicados. Um arquivo com vários documentos --- é rejeitado em vez de mesclado.

  4. Valores seguem a tipagem do YAML 1.2

    1.0 sem aspas vira 1, 2024-01-01 vira um carimbo de data/hora ISO e .inf / .nan viram null. Use aspas para manter um valor como texto.

  5. Executa localmente, com seleção de arquivo e download

    Os arquivos são lidos no navegador e nada é enviado. Não há limite rígido de tamanho, mas um arquivo muito grande trava a aba durante a conversão.

Perguntas frequentes sobre YAML ↔ JSON

A conversão é bidirecional?

Sim: um botão para YAML → JSON e outro para JSON → YAML. Mas cada direção serializa os dados novamente, então comentários, formatação e âncoras não são preservados. O YAML gerado usa indentação de 2 espaços e quebra linhas longas em 80 colunas; não há opções de indentação ou ordenação.

É possível preservar comentários?

Não. O analisador YAML descarta os comentários e o YAML gerado nunca os adiciona; o JSON não tem sintaxe de comentário. Mantenha o arquivo comentado como fonte da verdade e trate a saída como dado derivado.

Âncoras, aliases e vários documentos são suportados?

Âncoras e aliases são resolvidos e gravados como valores duplicados. Documentos múltiplos (vários blocos ---) são rejeitados com “expected a single document in the stream”; separe-os antes. Isso afeta manifestos Kubernetes com vários recursos em um arquivo.

Por que version: 1.0 vira 1 e yes continua texto?

Escalares sem aspas são tipados pelas regras do YAML: 1.0 é número, então é impresso como 1. O js-yaml segue o YAML 1.2, em que yes / no / on / off são textos simples, então a chave on: do GitHub Actions continua texto. Use aspas quando o tipo precisar continuar texto.

Como datas, inteiros grandes e null são tratados?

Uma data sem aspas como 2024-01-01 é interpretada como carimbo de data/hora e vira 2024-01-01T00:00:00.000Z no JSON. Inteiros acima de 2^53 perdem precisão e .inf / .nan viram null. ~, null e valores vazios também viram null.

Funciona com arquivos Kubernetes, docker-compose ou GitHub Actions?

YAML padrão de documento único funciona, incluindo esses formatos. Separe antes as exportações Kubernetes com vários documentos e lembre que os comentários se perdem: não use o resultado como arquivo de configuração a ser commitado.

E o tamanho dos arquivos e a privacidade?

Tudo roda no navegador e nenhum arquivo é enviado. Não há limite configurado, mas a conversão é síncrona na thread principal, então arquivos de vários MB podem congelar a página.

Ferramentas Relacionadas
SponsorMindElixir