Conversor de JSON, YAML y CSV
Se ejecuta en tu navegador; no se sube nada
Convierte entre JSON, YAML y CSV en cualquier dirección, con una vista de tabla para los datos CSV.
Input · JSON
Output · YAML
Converted YAML appears here as you type.
Para qué sirven JSON, YAML y CSV
JSON, YAML y CSV describen datos como texto, pero para trabajos distintos. JSON es el formato de las APIs web: estricto y fácil de analizar para los programas. YAML guarda las mismas estructuras que JSON (objetos, listas, cadenas, números, booleanos) pero usa sangría en lugar de llaves, lo que lo hace más fácil de editar a mano; las especificaciones OpenAPI, los pipelines de CI y los archivos de Docker Compose y Kubernetes suelen ser YAML. CSV es una tabla: una fila de cabecera con los nombres de las columnas y luego una línea por registro.
El conversor lee la entrada en un único modelo de datos y lo escribe en el formato de destino. Los números conservan los dígitos con los que se escribieron, así que un ID de 19 dígitos o 1.50 llegan sin cambios. Todo lo que la conversión tuvo que decidir (un valor que YAML lee como número, un objeto anidado aplanado en una columna, una clave que aparece dos veces) aparece en las notas encima de la salida.
YAML se lee con el esquema core de YAML 1.2, la versión actual del estándar. true, false y null son valores; yes, no, on y off siguen siendo cadenas, a diferencia de librerías antiguas de YAML 1.1 como PyYAML. Al escribir YAML, el conversor pone entre comillas toda cadena que cualquiera de las dos versiones leería como otra cosa, así que "yes", "007" y "2024-01-01" se leen como las mismas cadenas en todas partes.
Cómo usar esta herramienta
- 1Elige los formatos en From y To en la barra de herramientas. Pega tus datos en el panel Input, arrastra un archivo encima o pulsa Ctrl+O para abrir uno (hasta 5 MB); al abrir un archivo .yaml, .csv o .json, From se ajusta solo.
- 2Lee el resultado en el panel Output. Se actualiza mientras escribes. Cuando hay CSV de por medio, la pestaña Table muestra las filas y las columnas.
- 3Ajusta las opciones que aparecen en la barra: el delimitador de CSV (o Detect), si la primera fila es cabecera, si los números y true/false pasan a ser valores JSON, el anidamiento de los nombres de columna con puntos y cómo se escriben los arrays en CSV.
- 4Si la entrada no es válida, el panel de salida y la barra de estado dan la línea y la columna. Pulsa F8 para poner el cursor ahí.
- 5Swap (Shift+Alt+S) pasa la salida a la entrada e intercambia los formatos, para que puedas comprobar el viaje de ida y vuelta. Ctrl+Z lo deshace.
- 6Copia la salida o descárgala con Ctrl+S.
Solución de problemas
- En YAML no se pueden usar tabuladores para la sangría
- YAML solo admite espacios para la sangría. Sustituye los tabuladores del principio por espacios; la mayoría de los editores pueden convertirlos por ti.
- Un valor no puede continuar con una línea
key: - Hay una línea sangrada bajo una clave que ya tiene un valor en su propia línea. Quita el valor que va después de los dos puntos, para que las líneas sangradas pasen a ser sus hijas, o corrige la sangría.
- Clave duplicada
- YAML exige que cada clave de un mapeo sea única. Renombra o elimina una de ellas; el error señala la segunda.
- La fila 4 tiene 5 campos; la cabecera tiene 4
- Un valor de esa fila contiene el delimitador sin comillas alrededor, o a la cabecera le falta una columna. Pon el valor entre comillas ("Pune, MH") o revisa el delimitador elegido.
- Los códigos postales o IDs pierden los ceros a la izquierda
- Desde CSV, valores como
007siguen siendo texto. Desde YAML, un007sin comillas es el número 7 según el estándar YAML, y las notas lo indican; ponlo entre comillas en el YAML para conservarlo como texto. - No se admiten varios documentos YAML
- La entrada tiene más de un documento separado por
---, como pasa a menudo en los archivos de Kubernetes. Convierte los documentos de uno en uno.
Preguntas frecuentes
¿Qué funciones de YAML se admiten?
Mapeos y listas en bloque, colecciones en línea como [a, b] y {a: 1}, cadenas simples, con comillas simples y con comillas dobles en varias líneas, bloques de texto literales | y plegados > con indicadores de chomping, comentarios, anclas y alias, la clave de fusión << y la etiqueta !!str. Las claves complejas con ?, otras etiquetas y varios documentos en una sola entrada se detienen con un error que nombra la función, en lugar de producir datos incorrectos.
¿Cómo se escribe JSON anidado en CSV?
Cada fila es un objeto del array. Los objetos anidados se convierten en columnas con nombres con puntos, como address.city. Por defecto los arrays se escriben como texto JSON en una celda, o se reparten en columnas numeradas (tags.0, tags.1) si eliges In columns. Las columnas son la unión de las claves de todas las filas, en el orden en que aparecen por primera vez. null se convierte en una celda vacía.
¿Qué tipos produce la conversión de CSV a JSON?
Con Numbers activado, un valor pasa a ser un número JSON solo si ya está escrito exactamente como tal (42, -1.5, 1e3), y true y false pasan a ser booleanos. 007, +5 y 1,000 siguen siendo texto, igual que las celdas vacías. Desactiva Numbers para mantener todos los valores como cadenas.
¿Se envían mis datos a un servidor?
No. El análisis y la conversión se ejecutan en tu navegador. Para que sobreviva a una recarga, lo que pegas se guarda en el almacenamiento de sesión de esta pestaña hasta que lo borras o cierras la pestaña. Copy link pone la entrada en el enlace después de #, una parte que los navegadores nunca envían a un servidor, pero cualquiera a quien le des el enlace podrá leerla. Tus ajustes, como los formatos y el delimitador, se guardan en este navegador.