Herramientas para desarrolladores
Conversor JSON ↔ YAML
Convierte JSON a YAML o YAML a JSON localmente, con listas anidadas, cadenas y números exactos.
Tus resultados
Convertir JSON y YAML con los tipos de datos previstos
Convierte datos compatibles con JSON entre JSON estricto y la sintaxis core de YAML 1.2. El convertidor conserva los tokens numéricos JSON, incluidos enteros grandes, en lugar de redondearlos primero mediante números JavaScript. Convierte valores de datos, no el formato del documento de origen ni el esquema de configuración de una aplicación. Los comentarios, anclas y opciones de presentación YAML no se conservan al convertir a JSON.
Paso a paso
- Pega texto o abre un archivo local UTF-8 JSON, YAML, YML o TXT. Elige explícitamente JSON → YAML o YAML → JSON; abrir un archivo no detecta la dirección.
- Elige dos o cuatro espacios y ordena las claves de los objetos si lo deseas. Procesa la entrada y resuelve cualquier error de sintaxis o función no admitida. La ordenación es recursiva y usa un orden lexicográfico que distingue mayúsculas y minúsculas; el orden de las matrices no cambia.
- Revisa cadenas, booleanos, valores nulos y números y después copia, imprime o descarga converted.yaml o converted.json. Si editas la entrada o las opciones, vuelve a procesar porque se borra la salida anterior. Valida el archivo convertido con la aplicación que lo utilizará.
Ajustes y límites
- Tipos y reglas de documentos
- Usa un documento YAML 1.2 con claves de cadena únicas y valores compatibles con JSON. Pon entre comillas identificadores que parezcan números, como "00123"; YAML 00123 sin comillas se convierte en el número 123. Los textos simples yes, on y las fechas ISO siguen siendo cadenas según las reglas core.
- Alias y funciones no admitidas
- Los alias sin ciclos se expanden en valores repetidos. Se rechazan los ciclos, claves duplicadas, claves que no sean cadenas, etiquetas no admitidas y números no finitos. Las claves de fusión YAML no se aplican: <<: *base se convierte en una propiedad normal "<<", así que expande primero los campos heredados previstos.
- Tamaño y complejidad
- La entrada está limitada a 2 MiB de texto UTF-8: 2,097,152 bytes. La salida se limita a 8 MiB. El procesamiento también se detiene por encima de 128 niveles de anidamiento, 200,000 nodos de valores o 100 visitas a alias; un archivo pequeño puede superar esos límites.
Ejemplo resuelto
Descarga types-example.json y elige JSON → YAML con sangría de dos espacios y sin ordenar. Conviértelo y compara types-example.yaml. Los id y word entre comillas siguen siendo cadenas, enabled sigue siendo false, y retries y large siguen siendo números.
Descargar los archivos de ejemplo
Entrada de ejemplo
{"id":"00123","word":"yes","enabled":false,"retries":3,"large":9007199254740993}Resultado esperado
"id": "00123"
"word": "yes"
"enabled": false
"retries": 3
"large": 9007199254740993Ahora abre types-example.yaml, cambia explícitamente a YAML → JSON y vuelve a procesar. El id debe seguir siendo "00123" y el entero grande debe seguir siendo 9007199254740993. Quita las comillas alrededor de 00123 en el YAML y repite: su valor pasa a ser el número 123. Esa diferencia importa para los identificadores aunque ambos archivos sean válidos.
Preguntas y solución de problemas
¿Por qué el JSON con claves duplicadas falla aquí pero se formatea en otro sitio?
El formateador JSON puede advertir de claves duplicadas y conservarlas. Este convertidor las rechaza porque convertirlas en una estructura clave-valor podría cambiar su significado. Decide qué valor debe estar en el origen y elimina el duplicado antes de convertir.
¿Se conservarán los comentarios y la herencia YAML?
JSON no tiene comentarios ni anclas. Los alias se expanden y las claves de fusión se exportan literalmente, no se aplican como herencia. Expande los datos previstos y revisa el resultado; la conversión no es una reescritura fiel de todas las funciones YAML.
¿Son seguros los números grandes en la aplicación de destino?
El convertidor conserva las representaciones numéricas admitidas y los valores de enteros grandes, pero un programa posterior puede analizarlos con menor precisión. Usa una cadena entre comillas cuando un valor con aspecto numérico sea un identificador y prueba el analizador de la aplicación de destino.