Convertidor de JSON a CSV

Transforme arrays JSON en tablas CSV conformes con RFC 4180 y revierta archivos CSV a estructuras JSON. Compatible con aplanado de claves anidadas, selección de delimitadores y ejecución 100% en el cliente.

Entrada JSON
Listo
668 B
Salida CSV

El resultado CSV aparecerá aquí en tiempo real...

Procesamiento en memoria local del navegador: privacidad total y cero transferencia de datosSoporta objetos anidados mediante aplanado con notación de puntosConversión bidireccional sin pérdida: JSON y CSV

Flujo de trabajo y configuración de parámetros

Paso 1

Introducir datos estructurados

Pegue directamente su array JSON o contenido CSV, arrastre archivos .json / .csv locales, o cargue los datos de demostración incluidos.

Paso 2

Configurar delimitadores y parámetros

Personalice los parámetros de serialización: active o desactive la fila de encabezados, elija el delimitador de campos (coma, punto y coma, tabulación TSV, barra vertical) y habilite el aplanado recursivo según convenga.

Paso 3

Inspeccionar y exportar

Alterne entre el editor de texto y la cuadrícula interactiva de tabla, copie el resultado directamente con formato compatible para Excel o Google Sheets, o descargue el archivo final.

Paradigma estructural: JSON jerárquico frente a CSV tabular

JSON (RFC 8259) y CSV (RFC 4180) desempeñan funciones complementarias en la ingeniería de datos. JSON modela estructuras arbóreas recursivas con esquemas dinámicos y polimórficos, mientras que CSV representa matrices bidimensionales correspondientes a tablas relacionales. La conversión entre ambos formatos requiere superar el desajuste de impedancia estructural entre la anidación arbitraria y las rejillas columnares planas.

DimensiónJSON (RFC 8259)CSV (RFC 4180)Resolución de conversión
Jerarquía de datosÁrbol recursivo con objetos y arrays anidadosMatriz 2D plana (filas × columnas)Aplanado recursivo de claves con notación de delimitador por puntos
Regularidad del esquemaPolimórfico: los objetos pueden incluir atributos heterogéneosRígido: todas las filas comparten una cuenta de columnas fijaUnión completa de todas las claves diferenciadas en la colección
Sistema de tiposTipado: string, number, boolean, null, object, arrayNo tipado: todos los valores se almacenan como cadenas de texto planoInferencia de tipos léxica determinista durante el análisis inverso
Delimitación de límitesDelimitadores estructurales ({}, []) y comillas en clavesCaracteres separadores (,, ;, \t) y saltos de líneaEnvoltura de comillas RFC 4180 cuando los datos contienen delimitadores

Algoritmos de aplanado y resolución de unión de claves (Key Union)

En aplicaciones reales, las cargas de datos JSON rara vez se presentan en esquemas uniformemente planos. Las respuestas de APIs REST y GraphQL suelen anidar metadatos, entidades relacionadas y listas. Para convertir estas estructuras en hojas tabulares relacionales, el convertidor implementa dos transformaciones fundamentales:

Aplanado recursivo mediante notación por puntos

Cuando se activa la opción de aplanado, las claves de los objetos anidados se recorren recursivamente y se concatenan con un separador. Una estructura con jerarquía { "usuario": { "geo": { "lat": 40.7 } } } genera una única cabecera de columna: usuario.geo.lat.

// Objeto JSON de entrada { "id": 101, "metricas": { "cpu": 45.2, "ram": 78.1 } } // Encabezados y valores aplanados id,metricas.cpu,metricas.ram 101,45.2,78.1

Unión de claves polimórficas y filas dispersas

En colecciones con esquemas no homogéneos, ciertos registros omiten atributos específicos. El convertidor compila una unión global de todas las claves únicas encontradas a lo largo de todos los objetos del array. Las propiedades ausentes en un registro particular se emiten de forma limpia como campos vacíos, preservando una cantidad constante de columnas en toda la tabla.

// Entrada heterogénea [ { "id": 1, "email": "a@test.com" }, { "id": 2, "telefono": "+34123" } ] // Salida con unión de columnas id,email,telefono 1,a@test.com, 2,,+34123
Estrategia de serialización de arrays: Los arrays anidados dentro de objetos se procesan según la naturaleza de sus elementos. Los arrays de escalares simples (cadenas, números o valores lógicos) se consolidan en una cadena unificada con delimitadores (p. ej., "lectura, programación"). Por su parte, los arrays que albergan subobjetos se serializan como cadenas JSON válidas y compactas, reteniendo su estructura interna dentro de la celda sin comprometer la cuadrícula tabular principal.

Reglas de escape RFC 4180 y compatibilidad de delimitadores

El formato CSV se encuentra formalmente especificado en el estándar internacional RFC 4180. Dado que las comas y los saltos de línea son caracteres sintácticos que delimitan columnas y filas, cualquier dato que contenga estos caracteres debe someterse a reglas de escape rigurosas para evitar la corrupción del archivo.

Envoltura de delimitadores

Si el valor de una celda contiene el carácter delimitador seleccionado (p. ej., Acme, S.A.), el campo íntegro debe delimitarse entre comillas dobles: "Acme, S.A.".

Duplicación de comillas

Si una celda incluye comillas dobles en su texto (p. ej., Dijo "Hola"), cada comilla interna debe duplicarse: "Dijo ""Hola""".

Preservación multilínea

Los saltos de línea internos (\n o \r\n) dentro de celdas de texto se encierran entre comillas, permitiendo que los analizadores traten el bloque como una única celda y no como un nuevo registro.

DelimitadorTipo MIMECaso de uso principalConsideraciones técnicas y regionales
Coma (,)text/csvDatos relacionales estándar, hojas de cálculo en EE. UU./Reino Unido, bibliotecas Python pandasValor por defecto global. Puede presentar conflictos con la notación decimal por coma utilizada en Europa y Latinoamérica.
Punto y coma (;)text/csvEntornos localizados de Excel en España, Europa continental y finanzas en LatinoaméricaEvita que los valores numéricos con comas decimales (12,50) se dividan erróneamente en múltiples columnas.
Tabulador (\t)text/tab-separated-valuesArchivos TSV, pegado directo desde el portapapeles en Excel y Google SheetsRara vez aparece de forma natural en texto libre; excelente para flujos de copiar y pegar sin necesidad de escapes complejos.
Barra vertical (|)text/plainAlmacenes de datos (Data Warehousing), exportaciones bancarias y pipelines UnixExcelente resistencia a colisiones en textos que contienen tanto comas como puntos y coma.

Análisis inverso: Coerción léxica de tipos de CSV a JSON

Al utilizar la modalidad CSV a JSON, el analizador convierte las filas de texto plano en colecciones de objetos estructurados de JavaScript. Debido a que el formato CSV no almacena metadatos de tipos de datos, el analizador aplica una heurística determinista en cada celda:

Resolución booleana

Las cadenas coincidentes con "true" o "false" se convierten en los primitivos booleanos true y false.

Resolución numérica

Las secuencias numéricas enteras y decimales (p. ej., 42, -12.8) se convierten en valores numéricos nativos de JavaScript.

Resolución de null

Las cadenas literales "null" se interpretan como el valor explícito null, distinguiendo la ausencia intencional de una celda vacía.

Cadenas literales por defecto

Cualquier texto no numérico ni booleano, así como celdas vacías con comillas explícitas, se conservan fielmente como cadenas de texto literales.

Frequently Asked Questions

¿Cómo se transforman objetos JSON y arrays anidados en columnas planas de una tabla CSV?

Debido a que el formato CSV es estrictamente una cuadrícula bidimensional de filas y columnas, las propiedades anidadas se aplanan mediante una notación recursiva de claves separadas por puntos (por ejemplo, usuario.direccion.ciudad). Para arrays: los valores escalares (cadenas, números o booleanos) se concatenan en una celda individual delimitados por separadores; mientras que los arrays que contienen objetos complejos se serializan como cadenas JSON compactas para evitar desalineaciones dimensionales con la estructura tabular contenedora.

¿Por qué los archivos CSV a veces se abren con todos los datos concentrados en una sola columna en Excel?

Esto ocurre habitualmente debido a una discrepancia de delimitadores entre el archivo generado y la configuración regional del sistema operativo. Mientras que las versiones de Excel en Norteamérica o el Reino Unido emplean la coma (,) como delimitador estándar, los entornos en España, gran parte de Europa y Latinoamérica esperan un punto y coma (;), ya que la coma está reservada como separador decimal. Seleccionar el delimitador de punto y coma en la herramienta o copiar directamente la tabla al portapapeles (mediante el formato HTML Table integrado) garantiza una distribución adecuada de columnas en cualquier software de hojas de cálculo.

¿Cómo se escapan de forma segura comas, comillas dobles y saltos de línea dentro de los valores JSON en CSV?

Conforme a la especificación RFC 4180, cuando el contenido de una celda incluye el carácter delimitador, un salto de línea (\n o \r\n) o comillas dobles, el campo completo debe encerrarse obligatoriamente entre comillas dobles. Asimismo, cualquier comilla doble interna debe duplicarse consecutivamente (""). Este mecanismo de escape salvaguarda los límites de cada registro y asegura una ingesta fiable en motores de bases de datos como PostgreSQL (comando COPY), MySQL (LOAD DATA INFILE) o almacenes de datos analíticos.

¿Cómo gestiona el convertidor arrays JSON con objetos polimórficos o claves ausentes?

En entornos reales de integración de APIs, las colecciones de datos suelen presentar esquemas variables donde ciertos registros carecen de atributos opcionales. El motor de conversión examina exhaustivamente todos los objetos del array para generar una unión completa de claves únicas (Key Union) en la fila de encabezados. En aquellos registros que no contienen una propiedad concreta, la celda correspondiente se emite vacía, asegurando una matriz con un número idéntico y alineado de columnas en todas las filas.

En la conversión inversa de CSV a JSON, ¿cómo se infieren y restauran los tipos de datos primitivos desde texto plano?

El formato CSV almacena todos los valores como cadenas de texto plano sin tipado explícito. Al realizar la transformación inversa a JSON, el analizador aplica una inferencia léxica determinista: los literales "true" y "false" se transforman en booleanos nativos, "null" se traduce en el valor primitivo null, y las secuencias numéricas válidas se convierten en enteros o números de coma flotante IEEE 754. Las cadenas de texto no numéricas y las celdas vacías entrecomilladas explícitamente se conservan como cadenas literales (string).