Como usar
- Cole seu YAML no editor de entrada.
- Em Saída, escolha Indentação 2, Indentação 4 ou Minificar.
- Se o arquivo tiver documentos separados por ---, selecione Array JSON em Vários documentos.
- Em Chaves numéricas e booleanas, escolha Converter em strings para aceitar essas chaves ou Rejeitar para tratá-las como erro.
Exemplos
Respostas de uma API de pedidos
openapi: 3.0.3
info:
title: API de Pedidos
version: 1.0.0
paths:
/pedidos:
get:
responses:
200:
description: Lista de pedidos
404:
description: Pedido não encontrado
{
"openapi": "3.0.3",
"info": {
"title": "API de Pedidos",
"version": "1.0.0"
},
"paths": {
"/pedidos": {
"get": {
"responses": {
"200": {
"description": "Lista de pedidos"
},
"404": {
"description": "Pedido não encontrado"
}
}
}
}
}
}Configuração compartilhada no Docker Compose
x-padrao: &padrao
image: nginx:alpine
restart: unless-stopped
services:
loja:
<<: *padrao
ports:
- "8080:80"
painel:
<<: *padrao
ports:
- "8081:80"
{"x-padrao":{"image":"nginx:alpine","restart":"unless-stopped"},"services":{"loja":{"image":"nginx:alpine","restart":"unless-stopped","ports":["8080:80"]},"painel":{"image":"nginx:alpine","restart":"unless-stopped","ports":["8081:80"]}}}Dois documentos Kubernetes
apiVersion: v1 kind: Namespace metadata: name: loja --- apiVersion: v1 kind: ConfigMap metadata: name: configuracao namespace: loja data: REGIAO: sa-east-1 MOEDA: BRL
[
{
"apiVersion": "v1",
"kind": "Namespace",
"metadata": {
"name": "loja"
}
},
{
"apiVersion": "v1",
"kind": "ConfigMap",
"metadata": {
"name": "configuracao",
"namespace": "loja"
},
"data": {
"REGIAO": "sa-east-1",
"MOEDA": "BRL"
}
}
]Como os tipos YAML viram JSON
| YAML | JSON | Observação |
|---|---|---|
name: Alice, "02134" | string | Números entre aspas continuam strings. |
30, 1.10, 0x1F, 12345678901234567890 | número | Gravados exatamente como no YAML; hex e octal viram decimal. |
true, False | booleano | yes, no, on continuam strings (YAML 1.2). |
null, ~, valor vazio | null | |
2001-12-14, 12:30:00 | string | Sem conversão oculta para timestamps. |
listas, mapas, âncoras, merge keys << | array, object | Os aliases são expandidos; a ordem das chaves é mantida. |
.inf, .nan, !!binary, !Ref, lista como chave | — | Erro com o caminho e a linha, nunca uma alteração silenciosa. |
Perguntas frequentes
O conversor mantém números grandes e casas decimais?
O JSON mantém números como 12345678901234567890, 1.10, 1e3 e -0 sem arredondamento. Números hexadecimais e octais são convertidos para decimal: 0x1F vira 31 e 0o17 vira 15.
Por que yes, no e on não viram valores booleanos?
No YAML 1.2, yes, no, on e off são strings; true e false são booleanos. Se o documento declarar %YAML 1.1, o conversor aplica as regras dessa versão e mostra uma observação.
Por que meu YAML válido não pode ser convertido para JSON?
O JSON não representa tags como !Ref, valores como .inf e .nan ou listas e mapas usados como chaves. A conversão também rejeita chaves duplicadas e aliases recursivos, indicando a linha e a coluna do problema.
Qual é o limite de tamanho do YAML?
O limite é de 10 MB, tanto para arquivos quanto para texto colado. Os arquivos precisam estar em UTF-8; arquivos binários são rejeitados.
Meu YAML é enviado para um servidor?
A conversão acontece no seu navegador, e o código da ferramenta não envia o YAML ou o JSON pela rede. As preferências das opções ficam salvas no localStorage.