JSON Array ↔ Tabla

Convertir entre arreglos JSON y tablas

Formato:
Entrada JSON
1
Salida
Entendiendo Conversion de JSON a tabla
TL;DR

La conversion de JSON a tabla aplana JSON anidado en formato tabular -- esencial para importar datos de API en hojas de calculo, bases de datos o CSV.

Que es el aplanamiento de JSON?

El aplanamiento de JSON (o conversion de JSON a tabla) transforma datos JSON jerarquicos en un formato tabular plano — filas y columnas — adecuado para hojas de calculo, bases de datos relacionales y archivos CSV.

JSON es el formato de intercambio de datos dominante para APIs web. Pero la fortaleza de JSON — la capacidad de representar datos profundamente anidados y jerarquicos — se convierte en un problema cuando necesitas analizar esos datos en herramientas disenadas para tablas planas. Excel no puede mostrar nativamente un objeto JSON anidado. Las bases de datos SQL almacenan datos en filas y columnas. Los archivos CSV son inherentemente planos.

La conversion de JSON a tabla cierra esta brecha. Toma estructuras JSON anidadas y produce una representacion plana donde cada objeto JSON se convierte en una fila y cada clave (incluyendo claves anidadas expresadas en notacion de puntos) se convierte en una columna.

Como funciona el manejo de objetos anidados

El desafio central del aplanamiento de JSON es decidir como representar estructuras anidadas en un formato plano. El enfoque estandar utiliza notacion de puntos para crear nombres de columna que codifican la ruta original:

{
  "user": {
    "name": "Alice",
    "address": {
      "city": "Paris",
      "zip": "75001"
    }
  }
}

Se aplana a:

user.nameuser.address.cityuser.address.zip
AliceParis75001

Cada nivel de anidamiento agrega otro segmento separado por puntos al nombre de la columna. Esto preserva la jerarquia de manera legible y evita colisiones — si tanto user.name como company.name existen, se convierten en columnas separadas.

Limites de profundidad

Para JSON profundamente anidado (5+ niveles), los nombres de columna con notacion de puntos pueden volverse dificiles de manejar (data.results[0].metadata.tags[2].label). Algunas herramientas ofrecen un parametro de profundidad maxima — el anidamiento mas alla de esa profundidad se serializa como una cadena JSON en una sola celda.

Manejo de arrays

Los arrays introducen la mayor complejidad en el aplanamiento de JSON. Existen varias estrategias:

Array de objetos (uniforme): Cuando cada elemento tiene las mismas claves, cada elemento se convierte en una fila. Este es el caso mas comun y limpio — una API JSON que devuelve una lista de usuarios se convierte directamente en una tabla.

[
  {"name": "Alice", "age": 30},
  {"name": "Bob", "age": 25}
]
nameage
Alice30
Bob25

Array de primitivos: Los arrays simples como ["red", "green", "blue"] pueden unirse en una sola celda (red, green, blue) o expandirse en columnas numeradas (colors.0, colors.1, colors.2).

Arrays anidados: Cuando un objeto contiene un array, el aplanador debe decidir: expandir cada elemento del array en una fila separada (union uno a muchos), o serializar el array como una cadena en una sola celda. La mayoria de las herramientas ofrecen ambas opciones.

Arrays irregulares: Cuando los elementos del array tienen diferentes claves, el aplanador crea columnas para todas las claves de todos los elementos, rellenando con valores vacios donde una clave esta ausente en un elemento particular.

Casos de uso comunes

  • Analisis de datos de API: Exportar respuestas de API (listas de usuarios, registros de transacciones, catalogos de productos) a hojas de calculo para analisis, filtrado y graficos
  • Importacion a base de datos: Convertir datos de API en JSON a CSV/TSV plano para importacion masiva en bases de datos relacionales (PostgreSQL COPY, MySQL LOAD DATA)
  • Generacion de reportes: Transformar datos de log en JSON o eventos de analitica en reportes tabulares para interesados que trabajan en Excel
  • Integracion en pipelines de datos: Convertir cargas utiles JSON entre microservicios que usan JSON y sistemas heredados que consumen CSV o archivos de ancho fijo
  • Exploracion rapida: Visualizar datos JSON complejos como tabla para comprender rapidamente su estructura, identificar patrones y detectar anomalias

Prueba estos ejemplos

Array JSON a tabla Válido

Un array JSON de objetos con claves consistentes se convierte limpiamente en una tabla de 3 filas y 3 columnas. Cada objeto se convierte en una fila, cada clave se convierte en un encabezado de columna: name | age | city.

[{"name":"Alice","age":30,"city":"Paris"},{"name":"Bob","age":25,"city":"London"},{"name":"Charlie","age":35,"city":"Berlin"}]
JSON profundamente anidado (notacion de puntos) Válido

Los objetos anidados se aplanan usando notacion de puntos: user.name, user.address.city, user.address.zip, active. La jerarquia se preserva en los nombres de columna mientras se produce una estructura tabular plana.

[{"user":{"name":"Alice","address":{"city":"Paris","zip":"75001"}},"active":true}]