Qué es JSON
JSON es un formato de texto para datos anidados: objetos con claves, arrays, cadenas, números, booleanos y null. No tiene tipo fecha ni comentarios.
Todas las API web, la mayoría de los archivos de configuración y cualquier cosa que hable con JavaScript.
Qué es CSV
Un CSV es un archivo de texto donde cada línea es una fila y las comas separan los campos. No hay tipos, no hay formato y no hay una segunda hoja. Todo valor es texto hasta que algo más abajo decida otra cosa.
Casi cualquier base de datos, herramienta de análisis y hoja de cálculo lo lee y lo escribe, y por eso es lo que sale por defecto al exportar.
Qué cambia al convertir JSON a CSV
Cuatro formas se leen bien: un array de objetos, un array de arrays con fila de encabezado, un objeto con un array por columna y un objeto indexado por id. La envoltura de una sola clave con el array dentro, que es como responde casi cualquier API, se desenvuelve sola. Un nivel de anidamiento se aplana en columnas con punto; lo más profundo se queda como texto JSON en la celda, porque una tabla no puede contener un árbol.
Cualquier valor que contenga el separador, una comilla o un salto de línea se envuelve entre comillas, y las comillas internas se duplican. Es la regla del RFC 4180 y es lo que espera una hoja de cálculo.