Saltar al contenido
LeedyBox
Apoyar

Convertir entre JSON, CSV y YAML

JSON, CSV y YAML a menudo pueden contener los mismos datos, pero no se corresponden uno a uno. Esta guía explica en qué destaca cada formato, qué detalles pueden cambiar durante una conversión y cómo comprobar el resultado.

En qué destaca cada formato

JSON es el formato habitual de las API web y de la configuración que leen los programas. Tiene un conjunto de tipos reducido y claro: objetos, matrices, cadenas, números, booleanos y null. Su sintaxis estricta hace que el software lo analice con facilidad, pero no admite comentarios.

CSV es una tabla: una fila por línea y un valor por columna. Las hojas de cálculo, las bases de datos y las herramientas de informes lo importan con facilidad, y es compacto para conjuntos de datos grandes y planos. No tiene una forma estándar de describir tipos de datos ni estructuras anidadas.

YAML está pensado para que lo escriban y lean personas. Es popular en archivos de configuración porque admite comentarios, usa sangría en lugar de corchetes y puede describir las mismas estructuras que JSON. Esa sintaxis flexible también implica que pequeños errores de sangría o de comillas pueden cambiar el significado.

CaracterísticaJSONCSVYAML
Objetos y matrices anidadosSíNo (tabla plana)Sí
Tipos de datosCadena, número, booleano, nullSolo textoDeducidos del valor
ComentariosNoNoSí
Uso típicoAPI, datos de aplicacionesHojas de cálculo, importacionesArchivos de configuración

En CSV, el anidamiento se aplana

Un archivo CSV solo tiene filas y columnas, así que los datos anidados deben reorganizarse. Hay dos enfoques habituales. El primero aplana la estructura en nombres de columna como address.city y address.zip. El segundo conserva la parte anidada como una cadena JSON dentro de una sola celda. El Convertidor de datos de LeedyBox ofrece ambas opciones.

Los dos enfoques tienen ventajas e inconvenientes. Las columnas aplanadas se leen con facilidad en una hoja de cálculo, pero las matrices de distinta longitud generan muchas columnas casi vacías. Las cadenas JSON dentro de las celdas conservan la estructura, pero son más difíciles de editar a mano. Si más adelante vuelves a convertir a JSON, comprueba que la estructura coincide con la de partida.

En CSV, los tipos se convierten en texto

CSV guarda cada valor como texto. El número 42, la cadena "42" y el booleano true se ven igual en una celda. Al volver a leer un archivo CSV, un programa tiene que adivinar qué columnas son números o fechas, o hay que indicárselo. El convertidor de LeedyBox lee los valores CSV como texto, así que los números de un archivo CSV aparecen como cadenas en JSON salvo que los cambies.

Las aplicaciones de hojas de cálculo añaden sus propias suposiciones: pueden eliminar los ceros iniciales de códigos postales o números de teléfono, convertir números largos a notación científica o interpretar valores como fechas. Las celdas que empiezan por =, +, - o @ pueden tratarse como fórmulas; el convertidor tiene una opción de protección de fórmulas de Excel para la salida CSV.

Comentarios y tipos en YAML

JSON no admite comentarios, así que al convertir YAML a JSON se pierden. Volver a convertir no los recupera. Conserva el archivo YAML original si los comentarios son importantes.

YAML deduce los tipos de los valores sin comillas. Con las reglas antiguas de YAML 1.1, que usan algunos analizadores, palabras como no, yes, on y off se convierten en booleanos, de modo que un código de país como NO puede acabar como false. Valores como 2026-10-02 pueden convertirse en objetos de fecha, y 1e3 o 010 pueden leerse como números. El convertidor de LeedyBox lee YAML con el esquema básico (core schema) de YAML 1.2, que mantiene no y las fechas como texto, pero otras herramientas que lean tu archivo pueden comportarse de otra forma. Poner entre comillas los valores que deben seguir siendo texto es el hábito más seguro.

Números grandes en JavaScript

JavaScript guarda los números como valores de coma flotante de 64 bits. Los enteros mayores que 9.007.199.254.740.991 (253 − 1) no siempre se pueden representar con exactitud, así que un ID grande como 12345678901234567891 puede redondearse sin aviso al analizarlo. Esto afecta a cualquier convertidor que funcione en el navegador, incluido este, que muestra un aviso cuando detecta números así. Los ID de bases de datos y otros identificadores largos se guardan de forma más segura como cadenas.

Comprobar el resultado

Una conversión que produce una salida válida no es necesariamente correcta. Antes de usar el resultado:

  • Compara el número de filas o elementos con el del origen.
  • Revisa algunos registros al azar, incluidos los que tienen valores vacíos, caracteres especiales, saltos de línea o datos anidados.
  • Comprueba las columnas que deberían ser números, booleanos o fechas en el sistema de destino.
  • Busca números largos que puedan haberse redondeado.
  • Valida la salida con el programa que la va a leer, primero con una copia de tus datos.

La herramienta Comparar textos puede ayudarte a comparar un archivo original con el resultado de convertirlo y volver a convertirlo.

Preguntas frecuentes

¿Puedo convertir JSON a CSV y volver a JSON sin cambios?

Solo con datos simples y planos, e incluso entonces los números y booleanos suelen volver como texto. Los datos anidados y los tipos dependen de las opciones usadas, así que compara el resultado con el original.

¿Por qué mi valor YAML se convirtió en true o false?

Algunos analizadores de YAML tratan palabras sin comillas como yes, no, on y off como booleanos. Pon el valor entre comillas para mantenerlo como texto.

¿Se suben mis datos cuando los convierto?

El Convertidor de datos de LeedyBox funciona en tu navegador, así que los datos que pegas se procesan en tu dispositivo.