Convertir matriz de objetos CSV a JSON

  1. Seleccione CSV → JSON y elija el delimitador real entre coma, punto y coma y tabulación.
  2. Pegue datos con nombres de columnas en la primera fila o cargue un archivo UTF-8.
  3. y verifique la clave y el valor resultantes.
  4. Copie el JSON o descárguelo como un archivo.

Los nombres de las columnas en la primera fila no pueden estar vacíos ni duplicados. Todas las filas deben tener el mismo número de columnas que la primera fila. Esta herramienta no adivina automáticamente números, fechas o valores booleanos; conserva los valores CSV como cadenas. Los espacios iniciales y finales también son parte del valor.

id,name
001,Alice
002,Bob

El resultado para la primera fila de datos es:

{"id":"001","name":"Alice"}

Las celdas vacías dan como resultado una cadena vacía. Si cambia un código como 001 por un número, el 0 inicial desaparece, por lo que es mejor mantener el identificador como una cadena. Otros programas también pueden convertir valores de cadena dentro de un archivo JSON, así que verifique las reglas de procesamiento finales.

Procesamiento de comas, comillas dobles y saltos de línea dentro de celdas

En CSV, si el valor en sí contiene una coma o un salto de línea, se usa ampliamente encerrarlo entre comillas dobles y escribir comillas dobles dentro del valor dos veces. Por ejemplo, los datos siguientes tienen dos columnas y los valores de los nombres son Alice, Kim.

id,name
001,"Alice, Kim"

"Dijo ""Hola""" representa una celda con Dijo "Hola". Los saltos de línea entre comillas permanecen en la misma celda y los saltos de línea fuera de las comillas se procesan en la línea siguiente. Por lo tanto, es difícil leer dichos datos con precisión simplemente cortándolos línea por línea y dividiéndolos con comas.

Esta herramienta lee los saltos de línea CRLF·LF·CR y no crea una línea en blanco adicional con un solo salto de línea al final de la última línea. Las líneas en blanco en el medio se tratan como registros, por lo que se produce un error si el número de columnas es diferente. Se rechazan los caracteres que no cumplan reglas de entrada estrictas, como los espacios después de las comillas de cierre. Esta herramienta también admite la delimitación TSV y punto y coma, que aplica las mismas reglas de citación y no significa que sea el mismo que el dialecto TSV en todos los programas.

Nota: Descripción del formato CSV en RFC 4180. Este documento es un documento informativo que resume las prácticas CSV comúnmente utilizadas.

¿Qué sucede con las columnas y los valores vacíos al guardar JSON como CSV?

La entrada debe ser una matriz de objetos. Por ejemplo, [{"id":"001","active":true},{"id":"002","note":"memo"}]. Recopila las claves de todos los objetos para crear una columna, utilizando el orden de la primera clave encontrada, según el orden en que se enumeran las claves en JavaScript. Las claves en forma de números enteros se pueden enumerar en un orden diferente al de las claves de cadena normales.

Todas las claves faltantes y nulas se muestran como celdas vacías. Dado que las cadenas vacías también se expresan como celdas vacías, estas tres no se pueden distinguir ni restaurar utilizando CSV únicamente. Los valores booleanos se exportan como texto verdadero·falso y los números se exportan como una representación de cadena del número. La conversión de CSV a JSON no recupera automáticamente el tipo de datos original porque todos los valores son cadenas.

Rechazar objetos y matrices anidados. Las reglas para expandir objetos de dirección en columnas como dirección.ciudad dependen de los datos y no se determinan automáticamente. Debido a que JSON se lee como números de JavaScript, la precisión de los números grandes o decimales puede cambiar. Rechace los valores enteros fuera del rango de enteros seguro y pase identificadores como números de orden largos como cadenas entre comillas dobles desde el principio. Las claves duplicadas en JSON pueden dejar al analizador con el último valor, así que conserve el original.

Opciones de interpretación de fórmulas y listas de materiales de Excel Hangul/UTF-8

La entrada de archivos solo admite UTF-8. Para otros archivos de codificación como CP949·EUC-KR, prepárelos primero como UTF-8. La opción BOM en las descargas CSV antepone bytes de marcado UTF-8 al archivo. Dependiendo del programa, esto puede ayudar a determinar la codificación de caracteres, pero no resuelve todas las configuraciones de importación. La lista de materiales no está incluida en la pantalla y copia de resultados, ni tampoco en la descarga de JSON.

CSV no es un archivo XLSX, que conserva tipos de datos de celda, colores, fuentes o varias hojas. Cuando se abre en una hoja de cálculo, 001 puede reemplazarse con el número 1 o interpretarse como una fecha. Especifique la columna del identificador como texto en la pantalla de importación del programa y vea el resultado real.

La opción de comillas simples, que está activada de forma predeterminada, coloca una comilla simple antes de las cadenas y nombres de columnas que comienzan como fórmulas. Este es un proceso para reducir el riesgo de interpretar fórmulas para cadenas que comienzan con signos iguales, sumas, restas, etc., y cambia los datos reales. Los números numéricos negativos se manejan de manera diferente a las cadenas. No garantizamos la seguridad de todas las hojas de cálculo y su proceso de guardado, así que verifique la configuración de importación y el contenido para detectar datos de fuentes desconocidas. Si necesita exportar el texto original, comprenda el impacto de la opción antes de desactivarla.

Nota de seguridad: OWASP CSV Injection.

Orden para comprobar cuando ocurren limitaciones de capacidad y errores

La entrada es de 2MiB según UTF-8, los datos son de 10,000 filas y 100 columnas y la salida es de 8MiB o menos. JSON repite los nombres de las claves en cada fila, por lo que puede ser más grande que CSV. Si está limitado por la salida, divida la entrada. Actualmente, el navegador procesa los datos y, cuando actualiza, la entrada y los resultados desaparecen.

Para errores de recuento de columnas, verifique si el delimitador es correcto, si los valores que contienen comas están entre comillas o si hay líneas vacías. Los errores de sintaxis JSON se pueden comprobar con JSON Cleanser. La conversión exitosa no significa que se hayan verificado los campos requeridos o las reglas comerciales de la API. Guarde el original por separado y revise los resultados por número de filas, número de columnas y valores representativos.

Preguntas frecuentes

¿Convertir automáticamente números en CSV a números JSON?

No. Mantenga todas las celdas como cadenas. Este es un método para evitar cambios aleatorios en identificadores como 001 o cadenas numéricas largas.

¿Puedo cargar también archivos Excel XLSX?

No compatible. Exporte las hojas requeridas de la hoja de cálculo como UTF-8 CSV y utilícelas.

¿Los datos son exactamente los mismos cuando hago un viaje de ida y vuelta entre CSV y JSON?

Este no es siempre el caso. La distinción entre nulo, clave faltante y cadena vacía y el tipo de datos JSON no se puede restaurar con un viaje de ida y vuelta CSV. Activar la opción de comillas simples también cambiará esa cadena.