CSV frente a JSON: la frontera entre datos tabulares y anidados
CSV y JSON son las opciones más habituales para exportar datos: CSV reina en hojas de cálculo e importación de bases de datos con su estructura llana de un registro por línea, mientras JSON se encarga de las APIs modernas gracias al anidado flexible. La frontera real es la forma de los datos: tablas planas para CSV, jerarquías para JSON.
| Dimensión | CSV | JSON |
|---|---|---|
| Expresividad estructural | Solo tablas bidimensionales: un registro por línea y un campo por columna; sin anidados ni relaciones uno-a-muchos | Los objetos se anidan sin límite y los arreglos capturan el uno-a-muchos; objetos complejos caben en un archivo |
| Información de tipos | Todo es texto; si «1.0», «01» o «true» son número o booleano lo decide quien lee | Los tipos van explícitos en la sintaxis: cadenas con comillas, números sin ellas; semántica coherente entre sistemas |
| Tamaño con los mismos datos | El menor: sin nombres repetidos ni paréntesis, solo encabezados y valores | Cada objeto repite claves y añade símbolos: suele ser un 30-100% mayor que CSV |
| Compatibilidad con Excel y BD | Excel lo abre con doble clic; MySQL, PostgreSQL y otras traen canal nativo de carga masiva | Excel exige Power Query o plugins; las bases de datos deben parsearlo o usar tipos de columna JSON |
| Trampas de escape | Las reglas cambian según el «dialecto»: comillas, escapes dobles y saltos incrustados varían; fuente clásica de filas desalineadas | Esquema único de escape (barra invertida más conjunto fijo) sin divergencias entre implementaciones |
| Procesamiento en flujo | Streaming natural por líneas: archivos de gigas se consumen línea a línea con memoria constante | El JSON estándar carga el documento entero; para flujos hacen falta NDJSON o parsers incrementales |
| Ideal para | Exportación de informes, migraciones masivas y entregables de tabla para usuarios de negocio | Respuestas de API, configuración e intercambio de registros con subobjetos o arreglos |
¿Cuándo elegir CSV?
Elige CSV cuando los datos sean una tabla ordenada de filas y columnas y el receptor sea una persona, una hoja de cálculo o un cargador de BD. Uniformiza el dialecto al generar (UTF-8, reglas de comillas) y emite BOM para que Excel muestre bien el chino.
¿Cuándo elegir JSON?
Usa JSON cuando los registros contengan objetos anidados, arreglos o campos de longitud variable y cuando los programas consuman la interfaz directamente. Su sistema de tipos y escape uniforme acaban con la discusión de si una columna es número o texto.
Herramientas relacionadas
Convertidor JSON a Excel en Línea
Convierte arreglo JSON a CSV/Excel. Extrae cabecera, escapa comas/comillas, soporta chino, abre en Excel, local.
Conversor JSON a CSV en Línea
Convierte arreglos JSON a CSV al instante con extracción de cabeceras y escape, procesamiento local.
Conversor CSV a JSON en Línea
Convierte CSV a arreglos JSON al instante, primera fila como cabecera, detección automática de números/booleanos.
Preguntas frecuentes
¿Por qué el chino se ve como caracteres extraños al abrir CSV en Excel?
Excel en Windows interpreta los archivos sin BOM como ANSI por defecto. Exporta en UTF-8 con BOM o indica la codificación manualmente en el asistente de importación.
¿Y si un campo contiene comas o saltos de línea?
Lo estándar es envolver el campo entre comillas dobles, duplicando las comillas internas. Muchos parsers simples no lo soportan: prueba la consistencia ida y vuelta antes de intercambiar entre sistemas.
¿Cuál elegir para exportar grandes volúmenes?
Prefiere CSV: menos peso, escritura en flujo línea a línea y canales nativos rápidos de importación. Si el JSON es obligatorio, considera NDJSON (un objeto por línea) para conservar el streaming.
Para saber más
En los flujos reales suelen relevarse: el backend recibe JSON de una API y lo convierte a CSV para finanzas; un CSV scrapeado entra en la base de datos y sale como JSON para gráficos del frontend. La conversión bidireccional es básica: nuestras herramientas online JSON a CSV y CSV a JSON admiten lotes con validación local y detectan desalineaciones de separador o ambigüedad de tipos antes de que entren datos sucios.