Conversor JSON ⇄ CSV
Funciona por completo en tu navegador. Tus archivos y datos nunca salen de tu dispositivo.
Acerca de esta herramienta
Pega JSON para obtenerlo como CSV, o pega CSV para convertirlo de nuevo en JSON. Un array JSON de objetos se convierte en filas con una cabecera, y los campos anidados se aplanan en columnas con notación de puntos, como address.city. En el otro sentido, las cabeceras con puntos se reconstruyen como objetos anidados, y el analizador puede detectar el delimitador automáticamente o usar el que elijas.
¿Cómo se tratan los datos anidados?
El JSON suele anidar objetos dentro de objetos, pero una fila de CSV es plana, así que el conversor tiene que decidir qué hacer con esa estructura. Al pasar de JSON a CSV, aplana cada objeto anidado uniendo sus claves con puntos: {"address": {"city": "Lyon"}} se convierte en una columna llamada address.city con el valor Lyon. Los arrays y cualquier valor que no quepa en una sola celda se convierten a texto JSON tal cual, así que los sigues viendo, solo que no repartidos en columnas.
En el sentido contrario, de CSV a JSON, el proceso se invierte: una columna llamada address.city se reconstruye como un objeto address anidado con un campo city. Cada celda también se analiza según su tipo. Las celdas vacías se convierten en null, true y false pasan a ser booleanos, los números simples se convierten en números, y cualquier celda que parezca un array o un objeto JSON se interpreta como tal. Todo lo demás se queda como texto. El analizador de CSV detecta el delimitador (coma, punto y coma, tabulación o barra vertical) a partir de tu entrada, aunque puedes forzar uno específico si la detección se equivoca.
¿Qué pasa si mi JSON no es una lista plana de objetos?
La dirección JSON a CSV espera un array donde cada elemento sea un objeto, porque eso es lo que se traduce en filas y columnas. Si el valor de nivel superior no es un array, o si algún elemento dentro de él no es un objeto, la herramienta se detiene y te indica en qué índice falló en lugar de inventar una estructura. Un objeto suelto, un número, o un array de strings no se convierten directamente. Necesitarías envolver o reorganizar los datos como un array de objetos primero, que además es la forma en que la mayoría de las APIs ya devuelven las respuestas tipo lista.
¿Se sube mi información a algún sitio?
No. El análisis y la conversión ocurren por completo en tu navegador con JavaScript, y nada de lo que pegues se envía a un servidor. Por eso es seguro usarlo con exportaciones de hojas de cálculo, volcados de bases de datos o archivos CSV con datos de clientes, identificadores internos u otra información que no querrías entregar a un servicio externo.
Usos habituales: convertir la respuesta de una API en un CSV para Excel o Google Sheets, transformar una hoja de cálculo exportada en JSON para un script o un fixture de pruebas, o limpiar datos antes de pasarlos a otra herramienta. La salida CSV sigue la RFC 4180, y el JSON sigue el formato descrito en MDN.