Command Palette

Search for a command to run...

JSON a CSV: convierta una respuesta API en una hoja de cálculo que las personas puedan abrir

JSON a CSV: convierta una respuesta API en una hoja de cálculo que las personas puedan abrir

T
Toolz Team
|Aug 23, 2026|13 Min Lectura

Parte de la colección Herramientas de datos

La mitad de mi trabajo en cualquier producto SaaS consiste en sacar datos del sistema y ponerlos en manos de alguien que no escribe código. Un fundador quiere los registros de mes & 39;s en una hoja de cálculo. Un cliente potencial de soporte quiere ordenar tickets en Excel. Un contador quiere los pedidos como .csv pueden pivotar. Los datos viven como JSON, porque eso es lo que devuelve la API, y cada vez la tarea es la misma: convertir esta matriz de objetos en columnas y filas que un humano puede abrir. Me cansé de escribir scripts desechables, razón por la cual Toolz Convertidor JSON a CSV existe. Esta guía es como pienso sobre esa conversión, incluidas las partes que hacen tropezar a las personas.

TL;Dr: Un convertidor JSON a CSV toma una matriz de objetos y los escribe como filas separadas por comas, una columna por propiedad, para que una hoja de cálculo pueda abrirla. Las partes difíciles son registros con diferentes campos, objetos anidados y valores que contienen comas. Un buen convertidor construye el encabezado a partir de la unión de todas las claves, puede aplanar objetos anidados en columnas de notación de puntos y escapa de los campos según RFC 4180. La herramienta Toolz hace los tres lados del cliente y le permite elegir el delimitador y los finales de línea CRLF para que el archivo se abra limpiamente en Excel.

Construyo sobre Laravel y React, por lo que JSON es mi formato nativo y CSV es la lengua franca a la que exporto. La ingeniería interesante no es el camino feliz donde cada objeto tiene las mismas tres claves; es la complicada realidad de los datos de producción, y ahí es donde la mayoría de los convertidores hacen silenciosamente lo incorrecto.

¿qué es un convertidor JSON a CSV?

Un convertidor JSON a CSV lee una matriz JSON de objetos y produce una tabla: los nombres de las propiedades se convierten en la fila del encabezado y cada objeto se convierte en una fila de datos debajo de ella. Pegue la respuesta de un punto final API, una consulta de base de datos o un documento exportado, y obtendrá un archivo que puede abrir directamente en Excel, Google Sheets o Numbers. Es el puente entre el intercambio de máquinas de formato y el formato en el que realmente trabajan las personas.

La entrada ideal es una matriz de objetos planos que comparten las mismas claves, porque se asigna perfectamente a una tabla rectangular. Los datos reales rara vez son tan ordenados. A los objetos les falta un campo, los valores anidan a dos niveles de profundidad y algunas entradas son matrices en lugar de escalares. El valor total de un convertidor dedicado es que tiene una respuesta definida y sensata para cada uno de esos casos en lugar de generar un error o eliminar datos. Si su JSON está minificado o simplemente desea inspeccionarlo primero, ejecútelo Formateador JSON para imprimirlo y validarlo antes de convertirlo.

¿Cómo maneja objetos con diferentes campos?

Esto es lo primero que rompe los convertidores ingenuos y vale la pena entenderlo porque la producción JSON casi nunca tiene objetos uniformes. Supongamos que su matriz tiene un objeto con id, namey email, y el siguiente con id, namey phone. ¿Qué columnas debería tener el CSV?

La respuesta correcta es la unión de cada clave en todos los objetos, mantenida en el orden en que aparece cada clave por primera vez. Entonces el encabezado se convierte en id, name, email, phone, y cualquier objeto al que le falte una de esas claves simplemente obtiene una celda vacía en esa columna. No se cae nada y la tabla permanece rectangular. Un convertidor perezoso que solo lee las claves del primer objeto perdería silenciosamente el archivo phone columna completa, llevándose consigo todos los números de teléfono. El convertidor Toolz escanea todas las filas para crear el encabezado, por lo que los registros desiguales aún se alinean en una tabla limpia y completa. Este comportamiento es la diferencia entre una exportación en la que puede confiar y una que omite silenciosamente datos que nadie nota hasta que es demasiado tarde.

¿qué pasa con los objetos y matrices anidados?

JSON es un árbol; CSV es una cuadrícula. Aplanar uno hacia el otro es el segundo lugar donde divergen los convertidores, y la elección correcta depende de lo que planee hacer con el archivo.

Para objetos anidados tiene dos opciones razonables y la herramienta admite ambas. Al aplanarse, un objeto anidado se expande a columnas de notación de puntos, por lo que { "address": { "city": "Paris", "zip": "75001" } } se convierte en address.city columna y una address.zip columna. Eso es lo que desea cuando los campos anidados son datos reales que una persona leerá y ordenará. Al aplanarse, todo el objeto anidado se escribe como una cadena JSON compacta dentro de una sola celda, lo cual es mejor cuando la estructura es opaca y solo necesita preservarla palabra por palabra.

Las matrices tienen su propia elección, porque no existe una única forma correcta de comprimir una lista en una celda. Puede almacenar la matriz como JSON, manteniéndola ["a","b"] intacto, por lo que da vueltas perfectamente, o puedes unir los elementos con un separador para obtener lo más legible por humanos a; b. Utilizo JSON cuando un programa volverá a leer el archivo y el formato de unión cuando una persona es la audiencia y gana la legibilidad. La siguiente tabla resume las decisiones.

Forma de entrada Aplanar Aplanar
{"user":{"name":"Ada"}} columna user.name = Ada columna user = {"name":"Ada"}
{"tags":["x","y"]} (arrays ca JSON) columna tags = ["x","y"] columna tags = ["x","y"]
{"tags":["x","y"]} (arrays unite) columna tags = x; y columna tags = x; y
al objeto le falta una clave celda vacía en esa columna celda vacía en esa columna

¿por qué es necesario escapar de las comas y las citas?

Esta es la regla que, ignorada, produce un archivo que se ve bien hasta que alguien lo abre y todas las columnas están equivocadas. CSV usa la coma para separar campos, entonces, ¿qué sucede cuando un valor contiene una coma? ¿O una cita doble? ¿O una ruptura de línea de una nota de varias líneas?

RFC 4180, lo más parecido que tiene CSV a un estándar, responde esto con precisión: cualquier campo que contenga el delimitador, una comilla doble o un salto de línea debe estar envuelto en comillas dobles, y cualquier comilla doble dentro de ese campo debe duplicarse. Entonces el valor Baker, Smith & Co. está escrito como "Baker, Smith & Co."y She said "hi" se convierte en "She said ""hi""". El convertidor Toolz aplica estas reglas a cada celda automáticamente, razón por la cual una dirección, un precio con un separador de miles o un comentario de texto libre sobrevive al viaje a una hoja de cálculo como un campo único e intacto en lugar de dividirse en columnas adicionales.

¿cómo hago que el archivo se abra limpiamente en Excel?

Uno pensaría que un CSV es un CSV, pero Excel en Windows es quisquilloso con una cosa que llama la atención: los finales de línea. Entender esto bien es la diferencia entre un archivo que se abre perfectamente y uno donde las filas aparecen fusionadas o divididas.

Excel en Windows espera que cada fila termine con un retorno de carro más una línea de avance, el par CRLF. Si le entrega un archivo con finales de línea LF estilo Unix, puede leer mal dónde se rompen las filas, especialmente cuando un campo cotizado contiene su propia nueva línea. El convertidor le permite elegir LF o CRLF, así que elija CRLF cuando la audiencia es Excel en Windows y LF para la mayoría de las otras herramientas y para Google Sheets, que está satisfecho con cualquiera de los dos. También puedes elegir el delimitador: la coma es la predeterminada, pero el punto y coma es común en los lugares europeos donde la coma es el separador decimal y la pestaña o tubería son útiles cuando tus datos están llenos de comas. Hacer coincidir el delimitador y la línea que termina en el destino es una opción de cinco segundos que guarda un ticket de soporte más adelante.

¿es seguro convertir JSON confidencial en línea?

Sí, porque nada sale de tu navegador. Cada parte de la conversión, desde analizar el JSON hasta escapar de cada campo y unirse a las filas, se ejecuta en JavaScript en tu propia máquina. No hay carga ni servidor, por lo que no se transmite, registra ni almacena nada. Abra la pestaña Red y haga clic en Convertir: no verá ninguna solicitud y, una vez que la página se haya cargado, la herramienta funcionará con Internet desconectado.

Este no es un detalle menor específicamente para JSON, porque JSON es lo que hablan las respuestas API y los sistemas internos. La matriz que está convirtiendo puede contener registros de usuario, datos de pedido, tokens de acceso o cualquier otra cosa que devuelva su backend. Un convertidor que envía su carga útil a un servidor remoto convierte una respuesta privada en otra persona 's línea de registro. Hacer el trabajo del lado del cliente significa que los datos permanecen exactamente donde comenzaron. Es el valor predeterminado para cada herramienta en Toolz.dev, y si desea un caso más completo de por qué es importante esa arquitectura, lo expongo en el guía de privacidad de datos para herramientas en línea.

¿dónde encaja esto en una tubería real?

Por sí solo, el convertidor es un paso, pero suele ser el último salto de un flujo más largo y se combina naturalmente con un puñado de otras herramientas. El viaje de ida y vuelta más común en mi semana es: exportar JSON desde una API, editarlo o filtrarlo, convertirlo a CSV y entregárselo a alguien que vive en hojas de cálculo. Cuando lo devuelven con cambios, convierto la otra dirección con el Convertidor CSV a JSON, que analiza el archivo según RFC 4180 e infiere tipos para que vuelva a limpiar los objetos. Las dos herramientas son espejos deliberados entre sí, razón por la cual se entrecruzan.

Antes de convertir, a menudo quiero ver los datos como una cuadrícula para verificar su cordura y Visor CSV representa CSV como una tabla ordenable para que pueda confirmar que la exportación se ve bien. Y cuando el destino no es una hoja de cálculo en absoluto sino otro sistema que habla XML, el Convertidor XML a JSON y sus homólogos cubren esa etapa. Debido a que cada uno de estos se ejecuta localmente, puedes encadenarlos en el mismo archivo privado sin una sola carga. Si está reuniendo un conjunto de herramientas de referencia para este tipo de disputas de datos, mi Guía del kit de herramientas para desarrolladores web cubre cómo pienso sobre cómo ensamblar uno.

Preguntas frecuentes

¿Cómo convierto JSON a CSV? Abre el Convertidor JSON a CSV, pegue una matriz JSON de objetos en el cuadro de entrada y haga clic en Convertir. Las claves de objeto se convierten en la fila de encabezado y cada objeto se convierte en una fila de datos, luego puede copiar el CSV o descargarlo como .csv archivo para abrir en Excel o Google Sheets. Todo el procesamiento se realiza en su navegador, por lo que no se carga nada.

¿qué estructura JSON espera el convertidor? Lo ideal es una matriz de objetos, donde cada objeto se convierte en una fila. También se acepta un solo objeto y se convierte en un archivo de una fila. Los valores que no son objetos se colocan debajo de a value columna para que no se pierda nada y la herramienta te avisa cuando eso sucede.

¿Cómo maneja objetos con diferentes campos? El encabezado es la unión de cada clave encontrada en todos los objetos, mantenida en el orden en que aparece cada clave por primera vez. A un objeto al que le falta una de esas claves simplemente se le vacía una celda en esa columna, por lo que los registros desiguales aún producen una tabla limpia y completa sin que se eliminen datos.

¿cómo se manejan los objetos y matrices anidados? Al aplanarse, un objeto anidado se expande a columnas de notación de puntos como address.city; sin él, el objeto se escribe como una cadena JSON en una celda. Las matrices se pueden almacenar como JSON para conservarlas exactamente o unirse con un separador para obtener una columna más legible. Tú eliges por conversión.

¿por qué debería utilizar terminaciones de línea CRLF para Excel? Microsoft Excel en Windows espera retorno de carro más avance de línea al final de cada fila. Elegir CRLF evita que las filas se fusionen o se lean mal al abrir el archivo. Para la mayoría de las otras herramientas y para Google Sheets, LF funciona bien.

¿se escapan correctamente las comas y las comillas dentro de los valores? Sí. Según RFC 4180, cualquier campo que contenga el delimitador, una comilla doble o un salto de línea se envuelve en comillas dobles y las comillas internas se duplican. Esto mantiene las direcciones, descripciones y otro texto libre como un único campo válido en lugar de dividirse entre columnas.

¿es seguro convertir JSON sensible? Sí. La conversión se ejecuta completamente en JavaScript en su navegador, ninguna solicitud de red transporta sus datos, nada se registra ni almacena y funciona sin conexión una vez cargado. JSON que contiene claves API, registros de usuario o identificadores internos nunca sale de su máquina.

¿puedo convertir el CSV nuevamente a JSON? Sí. los Convertidor CSV a JSON invierte el proceso, analizando el archivo separado por comas nuevamente en una matriz JSON de objetos con inferencia de tipos. El round-tripping le permite mover datos entre hojas de cálculo y API sin reescribirlos a mano.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!