YAML a JSON

YAML es más agradable de escribir a mano, JSON es más agradable de consumir programáticamente, y muchas herramientas modernas (pipelines CI, Kubernetes, Ansible) aceptan ambos. Cuando necesitas pegar una configuración en una herramienta que insiste en JSON, definiciones de API Gateway, plantillas de CloudFormation, algunos cuerpos de webhook, este convertidor hace el viaje de ida y vuelta. Las anclas, fusiones y tipos específicos de YAML (fechas, octales, null, ~) se normalizan en equivalentes JSON.

Cómo convertir YAML a JSON

  1. 1

    Pegar YAML

    Cualquier documento YAML 1.1 o 1.2 válido.

  2. 2

    Resolver anclas

    Las anclas (`&x`) y alias (`*x`) se expanden en línea. Las claves de fusión (`<<`) se aplanan.

  3. 3

    Normalizar tipos

    Las fechas, valores nulos y booleanos se convierten a equivalentes JSON.

  4. 4

    Salida JSON

    Con formato bonito o minimizado, tu elección.

Ejemplo de conversión

YAML:

defaults: &defaults
  timeout: 30
  retries: 3

production:
  <<: *defaults
  host: prod.example.com
  debug: false

staging:
  <<: *defaults
  host: staging.example.com
  debug: true

JSON (anclas resueltas):

{
  "defaults": {
    "timeout": 30,
    "retries": 3
  },
  "production": {
    "timeout": 30,
    "retries": 3,
    "host": "prod.example.com",
    "debug": false
  },
  "staging": {
    "timeout": 30,
    "retries": 3,
    "host": "staging.example.com",
    "debug": true
  }
}

Mapeos de tipo

YAML JSON
Cadena Cadena
Entero Número
Flotante Número
Booleano (true, false) Booleano
Nulo (null, ~, en blanco) null
Marca de tiempo Cadena ISO 8601
Secuencia (lista) Array
Mapeo Objeto

Cosas específicas de YAML que JSON no puede representar

  • Comentarios. JSON no tiene una sintaxis estándar para comentarios. Los comentarios se eliminan.
  • Flujos de múltiples documentos (--- separadores). JSON es un documento por archivo; el convertidor emite un array de documentos cuando hay múltiples.
  • Anclas y alias. Resueltos y duplicados en línea.
  • Claves complejas (claves de mapeo no cadena). Las claves JSON deben ser cadenas; las claves complejas se convierten a cadenas.

La trampa de 1.1 vs 1.2

  • YAML 1.1 analiza yes, no, on, off, y, n como booleanos. NO como código de país se convierte silenciosamente en false.
  • YAML 1.2 restringe los booleanos a true y false. Más seguro, pero muchos analizadores (incluido el predeterminado de PyYAML) aún usan 1.1.

El convertidor utiliza por defecto la semántica 1.2 y advierte cuando 1.1 habría cambiado el resultado.

Viaje de ida y vuelta de JSON a YAML

JSON a YAML suele ser sin pérdida (JSON es un subconjunto de la sintaxis YAML 1.2). YAML a JSON es con pérdida: los comentarios y la estructura de clave de fusión desaparecen. Si planeas hacer un viaje de ida y vuelta, preserva el YAML original en el control de versiones.

Preguntas frecuentes

No, esas tienen su propia plantilla que se ejecuta antes del análisis de YAML. Renderiza la plantilla primero (con kustomize build o helm template), luego alimenta la salida aquí.

Las marcas de tiempo YAML se convierten en cadenas ISO 8601 en JSON. 2026-04-18 se convierte en "2026-04-18". Las horas y zonas horarias se preservan.

El límite práctico en el navegador es de alrededor de 10 MB. Para archivos más grandes, usa yq o python -c "import yaml, json; print(json.dumps(yaml.safe_load(open(file))))" en la línea de comandos.

No. La conversión se realiza en tu navegador y nada se transmite.

Herramientas relacionadas

Herramienta disponible en otros idiomas