Converter JSON para YAML online
Cole dados escritos com chaves e colchetes e receba o mesmo conteúdo em YAML indentado: um serviço com as portas 8080 e 8443 vira uma lista legível, e os valores true, false e vazios mantêm o sentido. Entrada quebrada é recusada, nunca convertida pela metade. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
O conversor analisa primeiro o documento completo e rejeita entradas incorretas, em vez de gerar um resultado parcial pouco confiável. Objetos viram mapas, arrays viram sequências e cada valor mantém seu tipo.
Duas formas de escrever os mesmos dados
Aplicativos, serviços e exportações costumam gerar dados com chaves, colchetes, vírgulas e aspas, enquanto o YAML expressa o mesmo conteúdo com recuos. Os dois descrevem os mesmos dados básicos, mas o YAML é mais fácil de ler e revisar, e por isso aparece tanto em arquivos de configuração e documentação. Converter na mão exige tirar cada chave e cada vírgula e acertar cada recuo, o que é lento e fácil de errar em um arquivo longo. Aqui, cada grupo de valores com nome vira um mapa do YAML, cada lista vira uma sequência, e estruturas aninhadas, como grupos dentro de listas, recebem recuos consistentes.
Por que alguns valores ficam entre aspas de propósito
O YAML deduz o tipo de um valor pela aparência, e essa dedução pode mudar seus dados sem que você perceba. Um texto como true, null, uma data ou um identificador feito só de dígitos poderia ser lido como um valor de sim ou não, um valor vazio, uma data ou um número. Para evitar isso, chaves e textos são colocados entre aspas de propósito e continuam sendo texto. Além disso, o documento é conferido por inteiro antes de qualquer escrita, e a mesma entrada sempre gera o mesmo resultado, pronto para um projeto com controle de versão.
Transforme dados estruturados sem alterar o significado
Objetos viram mapas, arrays viram sequências, e strings, números, booleanos e nulos preservam seus tipos. Estruturas aninhadas recebem recuo consistente. Strings e chaves são colocadas entre aspas para impedir que datas, identificadores numéricos ou palavras especiais sejam reinterpretados.
Objetos e arrays vazios também permanecem explícitos. Como o algoritmo não usa rede, relógio, aleatoriedade nem modelos, entradas idênticas sempre geram saídas idênticas. Essa estabilidade ajuda no controle de versão, em builds reproduzíveis, testes automatizados e revisões de código.
O que o conversor precisa e o que devolve
A raiz pode ser objeto, array, string, número, booleano ou nulo. Comentários, vírgulas finais, aspas simples, chaves sem aspas, undefined, NaN e Infinity não são permitidos. Se algum deles aparecer, a análise falhará e retornará um erro de entrada com a explicação do analisador.
Nenhum YAML parcial será emitido. A saída utiliza recuo de dois espaços e coleções em bloco. Chaves e strings usam aspas duplas compatíveis com YAML, preservando tipos, caracteres Unicode, quebras de linha, barras invertidas e aspas escapadas com segurança.
Use a conversão interativa ou automatize processos
Um build pode criar artefatos YAML; uma documentação pode gerar exemplos a partir de testes; e uma migração pode preservar arrays, coleções vazias e tipos escalares. Esta capacidade converte sintaxe, mas não valida esquemas do Kubernetes, Docker Compose ou outros consumidores. Depois, valide o resultado conforme o esquema do destino.
Perguntas frequentes
Strings, números, booleanos e nulos são preservados?
Sim. Strings recebem aspas para proteger o tipo, e os demais escalares mantêm o equivalente YAML.
O conversor valida um esquema YAML específico?
Não. Ele produz YAML válido equivalente aos dados; valide separadamente o esquema do aplicativo de destino.
Por que as chaves e os textos aparecem entre aspas?
Para que valores como true, null, datas ou números usados como identificadores continuem sendo texto e não sejam reinterpretados quando o YAML for lido. As aspas mantêm o significado dos seus dados exatamente como era.
O que acontece se a entrada tiver um erro de sintaxe?
Nada é convertido. O documento é conferido por inteiro antes de o YAML ser escrito, então uma entrada sem uma vírgula ou um colchete é recusada em vez de gerar um resultado parcial pouco confiável.
Grupos e listas vazias são mantidos?
Sim. Grupos de valores vazios e listas vazias são escritos de forma explícita, então a estrutura que você tinha antes da conversão continua visível depois e nada some sem aviso.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/web/json-to-yaml \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"}'const res = await fetch("https://api.kit.forhosting.com/web/json-to-yaml", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/json-to-yaml",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/json-to-yaml", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"{\\"service\\":{\\"name\\":\\"api\\",\\"enabled\\":true,\\"ports\\":[8080,8443]},\\"replicas\\":3}"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/json-to-yaml", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.json_to_yaml",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
timeout_sec | 30 |
max_crawl_pages | 25 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Converta uma string JSON em YAML equivalente sem trocar manualmente chaves, vírgulas, aspas e sintaxe de arrays. Você pode usar o navegador em tarefas rápidas ou a API em processos automatizados.
Transforme dados estruturados sem alterar o significado
JSON e YAML representam o mesmo modelo básico de dados, mas atendem a contextos diferentes. APIs costumam produzir JSON, enquanto YAML facilita a leitura de configurações. Este conversor analisa o JSON antes de escrever YAML.
Prepare um JSON válido e entenda a saída
Envie um único valor JSON completo como texto. JSON exige propriedades e strings entre aspas duplas, vírgulas entre membros e chaves ou colchetes correspondentes.
Use a conversão interativa ou automatize processos
A ferramenta do navegador é útil para adaptar uma resposta de API, preparar um arquivo de configuração ou inspecionar dados aninhados. Cole o JSON, execute a conversão e copie o YAML depois de conferir as exigências do aplicativo de destino. Em tarefas repetidas, chame a API por US$ 0,002 por item e trate uma entrada inválida como falha definitiva de validação.
Casos de integração
Criar uma configuração YAML
Transforme configurações exportadas como JSON em YAML legível, preservando estruturas e tipos.
Publicar exemplos de API
Gere uma versão YAML de uma solicitação ou resposta JSON testada sem manter duas cópias manuais.
Automatizar uma migração de formato
Converta artefatos JSON em YAML determinístico antes da validação, revisão ou entrega.
Perguntas técnicas
Quanto custa converter JSON em YAML?
Cada conversão pela API custa US$ 0,002 por item. O navegador atende a conversões interativas.
O que acontece se o JSON for inválido?
A capacidade retorna um erro invalid_input com a mensagem do analisador e não gera YAML parcial.
A raiz pode ser um array ou valor primitivo?
Sim. Você pode converter qualquer valor JSON completo, incluindo objetos, arrays e valores primitivos.