Inicio JSON a CSV
Convertidor de JSON a CSV
Pega un array JSON — o NDJSON, un objeto por línea — y obtén un archivo CSV. Funciona en esta pestaña, así que no se sube nada.
Otros idiomas:EnglishTürkçeDeutschPortuguês (Brasil)中文हिन्दीРусский
Qué pasa con los objetos y arrays anidados
CSV es plano y JSON no, así que esta es la decisión que define la conversión. Dos reglas, elegidas para que la salida tenga la misma forma sean cuales sean las filas que le des:
Los objetos anidados se convierten en columnas con puntos.
{"user":{"name":"Ada"}} produce una columna llamada user.name. El
anidamiento llega tan hondo como tus datos, y la notación coincide con la notación de puntos
que usa el generador para producir JSON anidado.
Los arrays se codifican como JSON en su sitio. {"tags":["a","b"]}
produce una sola columna tags que contiene ["a","b"], no
tags_0 y tags_1. Explotar un array en columnas parece más amable
hasta que notas que el número de columnas pasa a depender del array más largo del archivo:
añade una fila con tres etiquetas y todos los archivos anteriores tienen otra cabecera.
Mantener el array en una celda hace que la cabecera dependa solo de las claves.
Filas con claves distintas
El JSON real de una API casi nunca tiene las mismas claves en cada objeto. El conjunto de columnas es la unión de todas las claves vistas, en el orden en que aparecen por primera vez, y una fila sin una clave recibe una celda vacía. No se pierde nada y nada se desplaza:
[{"a": 1}, {"b": 2}]
a,b
1,
,2
Formas de entrada que acepta
- Un array de objetos — el caso normal, y lo que devuelven la mayoría de las APIs.
- Un solo objeto — se convierte en un archivo de una fila.
- NDJSON — un objeto JSON por línea, la forma de la mayoría de los archivos de log y de las exportaciones de BigQuery. Se detecta automáticamente cuando la entrada completa no es JSON válido pero cada línea sí lo es.
Un array de escalares — [1, 2, 3] — se rechaza en lugar de adivinarse. No tiene
nombres de campo, así que no hay una cabecera honesta que escribir.
El escapado en la salida
Los valores que contienen una coma, una comilla doble, un retorno de carro o un salto de línea van entre comillas, con las comillas internas duplicadas, según RFC 4180. Eso es lo que hace segura la salida para volver a un analizador — incluido el conversor inverso, que es la forma más rápida de comprobar que una conversión va y vuelve.
Abrir el resultado en una hoja de cálculo
Excel elige el delimitador según la configuración regional del sistema, así que en un equipo configurado en español, donde la coma es el separador decimal, un archivo separado por comas acaba en una sola columna. Usa Datos → Desde el texto/CSV en lugar de abrir el archivo con doble clic, o convierte a TSV — los tabuladores no son ambiguos.
Preguntas frecuentes
¿Cómo se tratan los objetos anidados?
Se aplanan en nombres de columna con puntos: {"user":{"name":"Ada"}} se convierte en una columna llamada user.name. El anidamiento llega tan hondo como los datos.
¿Por qué mi array está en una sola celda?
Porque explotarlo en tags_0, tags_1 y así sucesivamente haría que el número de columnas dependiera del array más largo del archivo, y añadir una fila podría cambiar la cabecera. El array se codifica como JSON en una celda.
¿Puede convertir NDJSON?
Sí. Si la entrada no es JSON válido en su conjunto pero cada línea se analiza por separado, se lee como NDJSON — un objeto por línea.
¿Y si mis objetos tienen claves distintas?
La cabecera es la unión de todas las claves, en el orden en que aparecen por primera vez, y una fila a la que le falta una clave recibe una celda vacía. No se descarta ninguna fila ni se desplaza ningún valor.
¿Se sube algo?
No. La conversión se ejecuta en tu navegador; el JSON nunca sale de tu máquina.
Relacionado
- /es/csv-to-json-converter — la conversión inversa, y las reglas de detección de tipos que aplica.
- /json-to-sql-converter — el mismo aplanado, pero escribiendo CREATE TABLE e INSERT (en inglés).
- /csv — generar datos de prueba CSV a partir de un esquema (en inglés).
- /excel-sample-data — abrir correctamente un archivo convertido en Excel y Sheets (en inglés).
Última actualización