El CSV es el idioma de la hoja de cálculo y el JSON el de las interfaces. Pasar de uno a otro es cosa de todos los días, y tropieza siempre con dos detalles: el separador y las comillas.
En España Excel separa con punto y coma, porque la coma está ocupada como separador decimal. Un archivo salido de un sistema americano se abre aquí, por tanto, como una única columna.
Para qué sirven las comillas
Si un campo contiene el propio separador, un salto de línea o unas comillas, se encierra entre comillas. Unas comillas dentro del campo se duplican: así lo prescribe el RFC 4180 y así lo hacen todos los programas extendidos.
Quien lo olvida al construir un CSV genera archivos que se rompen con el primer nombre de empresa que lleve una coma. Esta herramienta pone las comillas sola al generar y las interpreta bien al leer.
Cuándo conviene más el JSON
El CSV solo conoce texto en una cuadrícula plana: sin tipos, sin anidamiento y sin distinguir un valor vacío de una cadena vacía. En cuanto los datos tienen estructura —una dirección dentro del cliente, varias líneas dentro de un pedido— el CSV se convierte en una muleta.
Al revés, un JSON solo se puede pasar a CSV con sentido si es un array de objetos planos. Los valores anidados acaban como texto en su celda, y eso ya no se deshace al volver.