Convertir CSV a JSON y Viceversa: Guía para Desarrolladores
CSV y JSON son dos de los formatos de datos más utilizados en desarrollo de software. Saber convertir entre ellos es una habilidad esencial para cualquier desarrollador, analista de datos o profesional técnico.
¿Qué es CSV?
CSV (Comma-Separated Values) es un formato de texto plano que representa datos tabulares. Cada línea es un registro y los valores están separados por comas.
nombre,edad,ciudad
Juan,28,Madrid
María,34,Barcelona
Pedro,25,Valencia
Ventajas del CSV
- Extremadamente simple y legible.
- Compatible con Excel y hojas de cálculo.
- Muy ligero (sin overhead de estructura).
- Fácil de generar y parsear.
Limitaciones del CSV
- No soporta datos anidados/jerárquicos.
- No tiene tipado (todo es texto).
- Problemas con comas en los valores.
¿Qué es JSON?
JSON (JavaScript Object Notation) es un formato de texto ligero para intercambio de datos, basado en la sintaxis de objetos JavaScript.
[
{"nombre": "Juan", "edad": 28, "ciudad": "Madrid"},
{"nombre": "María", "edad": 34, "ciudad": "Barcelona"},
{"nombre": "Pedro", "edad": 25, "ciudad": "Valencia"}
]
Ventajas del JSON
- Soporta estructuras anidadas complejas.
- Mantiene tipos de datos (números, booleanos, null).
- Estándar para APIs web modernas.
- Nativo en JavaScript.
Limitaciones del JSON
- Más verbose (ocupa más espacio).
- No es tan fácil de editar manualmente como CSV.
- No abre directamente en Excel.
¿Cuándo Convertir CSV a JSON?
- APIs REST: Las APIs modernas esperan y devuelven JSON.
- Bases de datos NoSQL: MongoDB y similares trabajan con documentos JSON.
- Aplicaciones web: JavaScript procesa JSON nativamente.
- Datos jerárquicos: Si necesitas agrupar o anidar datos.
¿Cuándo Convertir JSON a CSV?
- Análisis en Excel: CSV abre directamente en hojas de cálculo.
- Importación a bases SQL: Muchas herramientas importan CSV fácilmente.
- Reportes: Para usuarios no técnicos que prefieren tablas.
- Archivos más pequeños: CSV es más compacto para datos tabulares simples.
Conversión en JavaScript
CSV a JSON
function csvToJson(csv) {
const lines = csv.trim().split('\n');
const headers = lines[0].split(',');
return lines.slice(1).map(line => {
const values = line.split(',');
return headers.reduce((obj, header, i) => {
obj[header] = values[i];
return obj;
}, {});
});
}
JSON a CSV
function jsonToCsv(jsonArray) {
const headers = Object.keys(jsonArray[0]);
const rows = jsonArray.map(obj =>
headers.map(h => obj[h]).join(',')
);
return [headers.join(','), ...rows].join('\n');
}
Consideraciones Importantes
Manejo de Caracteres Especiales
Si tus datos CSV contienen comas, debes encerrarlos en comillas:
"nombre","descripcion"
"Producto A","Grande, mediano o pequeño"
Codificación de Caracteres
Usa siempre UTF-8 para evitar problemas con acentos y caracteres especiales.
Primera Fila como Encabezados
La convención estándar es que la primera fila del CSV contiene los nombres de las columnas. Al convertir, estos se convierten en las claves del objeto JSON.
Errores Comunes
- Comas en los datos: Causan columnas incorrectas si no están entre comillas.
- Saltos de línea: Dentro de un valor pueden romper el parsing.
- Tipos de datos: CSV no distingue números de texto.
- Datos anidados: JSON con objetos anidados no se convierte fácilmente a CSV plano.
Conclusión
Tanto CSV como JSON tienen su lugar en el ecosistema de datos. La clave está en elegir el formato correcto para cada situación y saber convertir entre ellos cuando sea necesario.
Convierte CSV y JSON Online
Usa nuestra herramienta gratuita para transformar datos entre formatos.
Ir al Convertidor CSV ↔ JSON