JSON a SQL

Convierte un array JSON en un CREATE TABLE con tipos inferidos e INSERT por lotes, para PostgreSQL, MySQL, SQLite o SQL Server.

JSON a SQL funciona por completo en tu navegador. Tus datos se convierten en tu dispositivo y nunca se suben.

Abrir el conversor CSV a SQL

Acerca de JSON a SQL

JSON a SQL toma un array de objetos —una respuesta de API, una exportación, un fichero de pruebas— y produce las dos sentencias que lo meten en una base de datos: un CREATE TABLE cuyos tipos de columna se infieren de todos los valores de cada columna, e INSERT agrupados en listas VALUES multifil. La inferencia se hace bien: los enteros que superan 32 bits pasan a BIGINT, las cadenas con formato ISO a TIMESTAMP, las columnas mixtas degradan con seguridad a TEXT, y cada tipo canónico se escribe en la ortografía del dialecto: BOOLEAN llega como TINYINT(1) en MySQL y BIT en SQL Server. Los detalles que rompen los scripts manuales son justo el objetivo: identificadores entrecomillados por dialecto, comillas simples duplicadas para que O’Brien sobreviva, claves ausentes como NULL y objetos anidados serializados como texto JSON.

Características

Cómo usar JSON a SQL

  1. Pega un array JSON de objetos
  2. Nombra la tabla y elige el dialecto
  3. Ajusta las filas por INSERT si hace falta
  4. Copia el SQL: los tipos se listan antes para revisar

Ejemplo

Entrada

[{"id":1,"name":"O'Brien","active":true}]

Salida

CREATE TABLE "users" ("id" INTEGER, "name" TEXT, "active" BOOLEAN);
INSERT INTO "users" ("id", "name", "active") VALUES (1, 'O''Brien', TRUE);

La comilla doblada de O’’Brien es lo que mantiene el script válido.

Errores comunes y solución de problemas

Preguntas frecuentes

¿Cómo se infieren los tipos de columna desde JSON?
Cada valor de la columna vota: los enteros dan INTEGER (o BIGINT pasados 32 bits), cualquier decimal la vuelve DOUBLE PRECISION, true/false dan BOOLEAN, las cadenas con fecha ISO dan TIMESTAMP y cualquier conflicto acaba en TEXT. Se examinan todas las filas.
¿Qué cambia entre dialectos SQL?
El entrecomillado de identificadores (comillas dobles, acentos graves, corchetes), la ortografía de tipos (BOOLEAN frente a TINYINT(1) frente a BIT), los literales booleanos (TRUE frente a 1) y el prefijo N que SQL Server quiere en texto Unicode.
¿Qué pasa con objetos de claves distintas?
Las columnas son la unión de claves de todas las filas, en orden de aparición; las filas sin una clave insertan NULL ahí. Así es como los datos heterogéneos de API suelen necesitar aterrizar en una tabla.
¿El script generado está listo para producción?
Está listo para importar: entrecomillado seguro y tipos sensatos. Una tabla de producción merece además clave primaria, NOT NULL e índices, que ninguna inferencia puede adivinar de los datos.

Herramientas relacionadas

Todas las herramientas de ArrayKit