Saltar al contenido
BCBinary Code Translator
Menú

Utilidad de datos

Conversor bidireccional JSON y YAML

Convierte JSON y YAML con js-yaml, un esquema restringido compatible con JSON y controles contra claves peligrosas, valores no representables y alias cíclicos.

La conversión es local. YAML se analiza como datos; no se habilitan tipos JavaScript personalizados.

Cómo convertir JSON y YAML con seguridad

Selecciona la dirección, pega un documento y convierte. La parte YAML admite solo escalares, secuencias y mapas representables en JSON, lo que evita etiquetas JavaScript y tipado implícito inesperado.

  1. Elige JSON a YAML para una representación más legible, o YAML a JSON para APIs y herramientas.
  2. Pega un documento completo y válido según el esquema restringido.
  3. Revisa el resultado; los objetos y matrices se conservan y los alias acíclicos se expanden.
  4. Corrige avisos de enteros grandes y errores de etiquetas, claves bloqueadas, ciclos o valores no admitidos.

Ejemplos y comportamiento esperado

Entrada Salida Notas
{"name":"api","ports":[80,443]} name: api ports: - 80 - 443 Los objetos se convierten en mapas y las matrices en secuencias.
enabled: true retries: 3 { "enabled": true, "retries": 3 } Booleanos y números compatibles conservan su tipo.
message: Hola 👋 {"message":"Hola 👋"} Unicode se conserva en ambos formatos.
date: 2026-07-29 {"date":"2026-07-29"} Con este esquema una fecha aparente sigue siendo cadena.
payload: !!js/function function(){} YAML rechazado No se permiten etiquetas específicas de JavaScript.
__proto__: polluted: true Clave peligrosa rechazada Las claves de prototipo se bloquean antes de producir JSON.

Modelo de datos y esquema elegido

Se usa JSON_SCHEMA de js-yaml, no el esquema predeterminado más amplio. Se admiten mapas con claves de texto, secuencias, cadenas, números finitos, booleanos y null. Así no se construyen automáticamente fechas, binarios, expresiones regulares ni valores específicos de JavaScript.

YAML es más amplio que JSON, por lo que un documento YAML válido puede ser rechazado. Etiquetas personalizadas y tipos que no se representan con fiabilidad en JSON están fuera del alcance. Si un producto depende de ellos, utiliza su parser oficial y revisa su seguridad.

  • Las claves de mapas deben poder ser cadenas JSON.
  • No se admiten funciones, símbolos, undefined ni números no finitos.
  • Los escalares con apariencia de fecha permanecen como texto.

Mapas, secuencias, anclas y alias

Los objetos JSON corresponden a mapas YAML y las matrices a secuencias. El orden suele mantenerse para presentación, pero la semántica no debería depender de él. Los alias YAML pueden crear referencias compartidas; el conversor recorre el resultado y detecta ciclos.

Un alias acíclico solo puede representarse en JSON duplicando los datos. Una autorreferencia o un ciclo no pueden serializarse y se rechazan. En JSON a YAML se desactiva la generación de referencias para no introducir anclas inesperadas.

  • Los alias son una función de YAML, no de JSON.
  • Los grafos cíclicos se rechazan antes de JSON.stringify.
  • El orden de claves normalmente es presentación.

Contaminación de prototipos

__proto__, prototype y constructor pueden ser peligrosos cuando datos no fiables se combinan con objetos JavaScript. La herramienta bloquea esos nombres en cualquier nivel y reconstruye mapas sin prototipo para evitar propiedades heredadas.

Es defensa adicional, no sustituto de la aplicación receptora. El destino debe validar un esquema de lista permitida y evitar merges recursivos de claves arbitrarias en objetos privilegiados o configuraciones.

  • No mezcles configuración no fiable con valores predeterminados.
  • Valida nombres y tipos en el destino.
  • Mantén actualizado el parser YAML.

Usos habituales

Se utiliza para pasar ejemplos de API a documentación YAML, preparar borradores de configuración, crear solicitudes JSON y entender la relación entre sangría, secuencias y mapas.

En producción revisa comentarios perdidos, comillas, tipos y el esquema específico del producto. Distintas implementaciones YAML pueden interpretar escalares de forma diferente, así que prueba con el software final.

  • Preparar una solicitud JSON desde YAML.
  • Hacer más legible un ejemplo JSON.
  • Comprobar el tipo de cada escalar.
  • Eliminar alias antes de un sistema solo JSON.

Errores y límites de compatibilidad

Se informan JSON inválido, sangría o comillas YAML incorrectas, etiquetas no admitidas, claves peligrosas, valores incompatibles y ciclos. Las tabulaciones de sangría y los dos puntos ambiguos son errores frecuentes.

No se conservan comentarios, nombres de anclas, estilo de escalares, directivas ni espacios exactos. Tampoco se tratan varios documentos separados por ---. Es un conversor de datos compatibles con JSON, no un formateador YAML sin pérdida.

  • Los comentarios se pierden al pasar por JSON.
  • !!js/function se rechaza.
  • Valida la configuración con la aplicación antes de desplegar.

Seguridad, privacidad y recursos

El análisis ocurre en la pestaña, sin envío ni persistencia intencionados. El esquema está restringido y una revisión posterior bloquea claves peligrosas, objetos no admitidos y ciclos. No se habilitan tipos ejecutables.

Grafos de alias grandes y estructuras profundas pueden consumir memoria. No proceses archivos ilimitados de atacantes en una estación privilegiada. Elimina secretos antes de compartir la salida.

  • Impón límites de tamaño y profundidad en tus aplicaciones.
  • Que sea texto no significa que sea seguro.
  • Evita claves privadas en capturas y tickets.

Diferencias con formato y CSV

El formateador JSON solo cambia espacios; este conversor cambia el lenguaje de serialización. CSV exige registros tabulares, cabeceras y una estrategia para anidados, mientras YAML conserva la estructura completa compatible con JSON.

Usa validadores YAML del producto para etiquetas especiales, un esquema para reglas de campos y el formateador JSON si el único problema es sintáctico. Elegir la herramienta más estrecha reduce cambios semánticos.

Preguntas frecuentes

¿Puede ejecutar código al convertir YAML?

No. Se usa JSON_SCHEMA sin etiquetas JavaScript y después se rechazan claves peligrosas, valores no admitidos y ciclos. El destino todavía debe validar los datos.

¿Por qué una fecha YAML pasa a cadena JSON?

El esquema compatible con JSON no crea objetos Date. 2026-07-29 permanece texto; otros esquemas YAML podrían interpretarlo de otra manera.

¿Se conservan los comentarios?

No. Comentarios, estilo y espacio exacto no existen en el modelo JSON y no pueden reconstruirse después del análisis.

¿Qué ocurre con anclas y alias?

Los alias acíclicos se duplican como datos. Los ciclos se rechazan. La salida YAML tampoco introduce anclas automáticamente.

¿Por qué se rechazan __proto__ y constructor?

Son nombres relacionados con ataques de contaminación de prototipos. Bloquearlos reduce riesgo, aunque el receptor también necesita manejo seguro.

¿Puedo desplegar directamente la salida?

Trátala como borrador. Valídala con la aplicación, su esquema y su implementación YAML, porque comentarios, etiquetas especiales y múltiples documentos no se conservan.

Herramientas relacionadas

Ver todas las herramientas

Preferencias de cookies

Gestiona tus preferencias de cookies. Las cookies necesarias no se pueden desactivar.

Necesarias

Necesarias

Necesarias para la selección de idioma, las preferencias de privacidad y las funciones básicas del sitio.

Cookies: NEXT_LOCALE

Analíticas

Cookies analíticas opcionales que nos ayudan a entender el tráfico y mejorar el sitio.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidad

Cookies publicitarias opcionales que pueden usarse para mostrar anuncios relevantes y medir su rendimiento.

Cookies: __gads, _gcl_au, IDE