Cómo se usa
- Pega tu YAML en el editor de entrada.
- En Salida, elige Sangría 2, Sangría 4 o Minificar.
- En Claves numéricas y booleanas, elige Convertir en cadenas o Rechazar.
- Revisa el JSON resultante y las notas de conversión.
Ejemplos
Respuestas de una API con claves numéricas
openapi: 3.0.3
info:
title: API de pedidos
version: 1.0.0
paths:
/pedidos:
get:
responses:
200:
description: Lista de pedidos
404:
description: Recurso no 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": "Recurso no encontrado"
}
}
}
}
}
}Configuración compartida con anclas
base: &base
reintentos: 3
tiempo_espera: 30
servicios:
pedidos:
<<: *base
puerto: 8080
pagos:
<<: *base
reintentos: 5
puerto: 8081{"base":{"reintentos":3,"tiempo_espera":30},"servicios":{"pedidos":{"reintentos":3,"tiempo_espera":30,"puerto":8080},"pagos":{"tiempo_espera":30,"reintentos":5,"puerto":8081}}}Dos documentos de Kubernetes
apiVersion: v1
kind: ConfigMap
metadata:
name: ajustes-pedidos
data:
entorno: produccion
---
apiVersion: v1
kind: Service
metadata:
name: pedidos
spec:
selector:
app: pedidos
ports:
- port: 80
targetPort: 8080[
{
"apiVersion": "v1",
"kind": "ConfigMap",
"metadata": {
"name": "ajustes-pedidos"
},
"data": {
"entorno": "produccion"
}
},
{
"apiVersion": "v1",
"kind": "Service",
"metadata": {
"name": "pedidos"
},
"spec": {
"selector": {
"app": "pedidos"
},
"ports": [
{
"port": 80,
"targetPort": 8080
}
]
}
}
]Cómo se convierten los tipos YAML a JSON
| YAML | JSON | Nota |
|---|---|---|
name: Alice, "02134" | string | Los números entre comillas siguen siendo cadenas. |
30, 1.10, 0x1F, 12345678901234567890 | número | Se escriben exactamente como en el YAML; hex y octal pasan a decimal. |
true, False | booleano | yes, no, on siguen siendo cadenas (YAML 1.2). |
null, ~, valor vacío | null | |
2001-12-14, 12:30:00 | string | Sin conversión oculta a marcas de tiempo. |
listas, mapas, anclas, claves de fusión << | array, object | Los alias se expanden; se conserva el orden de las claves. |
.inf, .nan, !!binary, !Ref, lista como clave | — | Error con la ruta y la línea, nunca un cambio silencioso. |
Preguntas frecuentes
¿Se pierde precisión al convertir números grandes de YAML a JSON?
El conversor conserva exactamente los números, incluidos identificadores de 20 dígitos, 1.10, 1e3 y -0. Los números hexadecimales y octales se convierten a decimal.
¿Por qué «yes» y «no» no se convierten en booleanos?
En YAML 1.2, yes, no, on y off son cadenas; true y false son booleanos. Si el documento declara %YAML 1.1, se aplican las reglas de esa versión y se muestra una nota.
¿Qué pasa si el YAML tiene claves duplicadas o etiquetas como !Ref?
La conversión se detiene con un error: no se conserva solo la última clave ni se ignoran las etiquetas no compatibles. El mensaje indica la línea y la columna del problema.
¿Qué ocurre con las fechas y las horas?
Valores como 2001-12-14 y 12:30:00 se mantienen como cadenas, tal como están escritos. Una etiqueta explícita !!timestamp provoca un error.
¿Se envía mi YAML a un servidor?
La conversión se realiza en tu navegador y el código de la herramienta no envía el YAML ni el JSON por la red. La página usa Google Analytics para registrar eventos de uso, sin incluir el contenido.