18Docs

CSV frente a JSON frente a YAML frente a XML

CSV, JSON, YAML y XML guardan datos estructurados, pero se crearon para trabajos distintos. Elegir el correcto, y saber cómo se convierten, ahorra muchos roces al mover datos entre hojas de cálculo, código, configuraciones y API.

En qué es bueno cada formato

CSV es una tabla plana: filas y columnas, nada más. Es perfecto para hojas de cálculo y exportaciones en tabla, y casi cualquier herramienta lo lee, pero no puede expresar anidamiento ni jerarquía. JSON es el idioma de las API y las apps modernas: compacto, admite objetos y matrices anidados, y es fácil de procesar para el código. YAML es el primo más amable de JSON, usando sangría en vez de corchetes, por lo que domina los archivos de configuración. XML es el mayor, verboso y muy estructurado, aún común en sistemas empresariales, formatos de documento y API antiguas.

Convertir entre ellos con limpieza

Convertir datos planos es sencillo: una tabla CSV se asigna con limpieza a una matriz de objetos JSON, YAML o registros XML. El roce aparece con el anidamiento: CSV no puede representar la estructura anidada que sí pueden JSON, YAML y XML, así que convertir un JSON muy anidado a CSV implica aplanarlo, lo que puede perder jerarquía. En el otro sentido, de CSV hacia JSON, suele ser limpio.

Cuando conviertes, vigila los tipos y la codificación: los números, los booleanos y las fechas deberían sobrevivir como el tipo correcto, y el texto con comas o caracteres especiales necesita un entrecomillado adecuado. Un buen conversor se encarga de eso por ti, y ejecutarlo en tu navegador mantiene los datos (que pueden ser sensibles) fuera de cualquier servidor.

Preguntas frecuentes

¿Por qué mi JSON anidado no se convierte a CSV con limpieza?
CSV es una tabla plana y no puede representar el anidamiento. El JSON anidado hay que aplanarlo para que quepa en columnas, lo que puede perder parte de la jerarquía.
¿Qué formato es mejor para los archivos de configuración?
YAML es popular para configuraciones porque su estilo basado en sangría es fácil de leer y editar para las personas; JSON también es común donde las herramientas lo prefieren.