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
- CREATE TABLE con tipos inferidos de todas las filas
- INSERT multifila con tamaño de lote configurable
- Dialectos PostgreSQL, MySQL, SQLite y SQL Server
- Identificadores entrecomillados: palabras reservadas seguras
- Escapado de valores: comillas dobladas, NULL explícitos
- Claves ausentes como NULL; anidados como texto JSON
Cómo usar JSON a SQL
- Pega un array JSON de objetos
- Nombra la tabla y elige el dialecto
- Ajusta las filas por INSERT si hace falta
- 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
- Una columna numérica salió como TEXT. — Algún valor de esa columna es una cadena: "42" con comillas, una cadena vacía o un N/A. La inferencia examina todas las filas y degrada a TEXT ante cualquier discordancia.
- El script falla en una columna llamada order o user. — No debería: los identificadores van entrecomillados por dialecto justo para esto. Si falla, verifica que el dialecto coincide con la base: acentos graves para MySQL, corchetes para SQL Server.
- Las fechas se importaron como texto plano. — Solo las formas ISO 8601 (2024-01-15, con hora opcional) se infieren como TIMESTAMP. Formatos locales como 15/01/2024 son ambiguos y quedan TEXT a propósito.
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
- CSV a SQL — Genera sentencias INSERT y CREATE TABLE a partir de un CSV.
- JSON a CSV — Convierte un arreglo de objetos JSON planos a CSV.
- Formateador de JSON — Embellece, minimiza y valida JSON con la ubicación de los errores.
- JSON a TypeScript — Genera interfaces de TypeScript a partir de una muestra JSON.
- JSON Flatten / Unflatten — Aplana JSON anidado a claves con notación de puntos, o vuelve a anidarlo.
- Ordenar claves JSON — Ordena recursivamente las claves de un objeto JSON de la A a la Z.
Todas las herramientas de ArrayKit