Guía
Cómo convertir JSON a CSV de forma segura
Convierte arrays de objetos en una tabla, conserva columnas y reduce el riesgo de fórmulas al abrir CSV en una hoja de cálculo.
por Tools in a Tab · Publicado el · Revisado el
Respuesta breve
CSV es una tabla; JSON puede contener árboles arbitrarios. Una conversión útil empieza definiendo qué representa una fila y qué propiedades forman columnas.
Forma recomendada
[
{ "name": "Ada", "score": 10 },
{ "name": "Lin", "score": 12 }
]
produce:
name,score
Ada,10
Lin,12
Un objeto único puede tratarse como una fila. Un array vacío, escalares sueltos o una mezcla de objetos y otros valores no permiten deducir una tabla sin inventar reglas.
Comillas, saltos y separador
Un campo que contiene el separador, comillas o saltos de línea debe encerrarse entre comillas dobles, duplicando cada comilla interior. El separador puede ser coma, punto y coma o tabulador según el consumidor; no se debe cambiar solo por la configuración regional sin comunicarlo.
El conversor JSON a CSV mantiene objetos y arrays anidados como JSON compacto en una celda, conserva el orden estable de columnas y genera CRLF para el archivo.
Fórmulas de hoja de cálculo
Una celda de texto que comienza con =, +, - o @ puede interpretarse
como fórmula al abrir el archivo en ciertas hojas de cálculo. Es un riesgo si
el contenido procede de usuarios o fuentes no confiables.
La herramienta activa por defecto una protección que antepone un apóstrofo a esas cadenas. Esto cambia el dato visible subyacente y no existe una mitigación universal para todos los programas y flujos de reimportación. La guía de OWASP sobre CSV Injection detalla el riesgo y las limitaciones.
Antes de descargar
- Valida el JSON y rechaza claves duplicadas.
- Confirma qué campos son columnas y qué hacer con valores ausentes.
- Elige separador y codificación esperados por el importador.
- Mantén la protección si el archivo se abrirá manualmente y contiene texto no confiable.
- Si el CSV alimenta otro programa, valida allí los tipos: CSV no conserva la
diferencia entre número, booleano,
nully cadena.