Qué hace esta herramienta
Convierte una tabla en formato CSV en JSON, y JSON de vuelta en tabla, sin enviar los datos a ningún sitio. Un CSV es solo texto con un registro por línea y un separador entre valores; es fácil de producir y sorprendentemente difícil de leer bien: los valores pueden contener el propio separador, comillas e incluso saltos de línea. Este conversor sigue la especificación de CSV (RFC 4180) y es tolerante con los archivos desordenados que producen hojas de cálculo y exportaciones reales.
Convertir JSON a CSV
Pega una lista de objetos, una lista de listas o un solo objeto. Las columnas son todas las claves que aparecen en algún registro, en el orden en que aparecen por primera vez; un registro sin una clave deja la celda vacía. Los datos anidados se aplanan con una regla documentada: una clave dentro de un objeto pasa a ser la ruta unida con puntos, así {"user": {"name": "An"}} da una columna user.name, y los elementos de una lista se numeran: tags da tags.0 y tags.1. Si prefieres, puedes dejar toda una lista como texto JSON en una celda. Las celdas con el separador, comillas o saltos de línea se ponen entre comillas, duplicando las comillas, como exige el estándar.
Ejemplo
Este CSV tiene un valor entre comillas con una coma y una celda vacía:
name,age,city
An,34,"Ha Noi, VN"
Binh,,Hue
Con la configuración por defecto, el resultado es una lista de dos objetos con todos los valores como texto, así que la edad de Binh es una cadena vacía. Con la conversión activada, la edad de An pasa a ser el número 34 y la de Binh null. En sentido contrario, el JSON {"id": 1, "user": {"name": "An"}, "tags": ["a", "b"]} da las columnas id, user.name, tags.0 y tags.1 con los valores 1, An, a y b.
Por qué la conversión está desactivada por defecto
Las hojas de cálculo convierten texto en números sin avisar y estropean datos: un código postal 01234 pierde el cero, un número de tarjeta o de pedido de 16 dígitos pasa a notación científica, un código como 1E5 se vuelve 100000. Esta herramienta no adivina salvo que se lo pidas. Incluso con la conversión activa, un valor con cero a la izquierda, o un entero de más de 15 dígitos, sigue como texto porque JavaScript no puede guardarlo con exactitud.
Límites
Entrada de hasta 5 millones de caracteres o 10 MB si es un archivo. El cuadro de resultado muestra los primeros 200 000 caracteres de resultados muy grandes; copiar y descargar siempre incluyen todo. Las fechas no se convierten: siguen como texto.