Generador de JSON → SQL INSERT
Pegas un array JSON (o un objeto único) y emite un insert SQL listo para correr. Las columnas son la unión de todas las claves; las filas que carecen de una columna obtienen NULL. Strings se escapan con comilla simple, números y booleans se vuelven literales, objetos / arrays anidados se serializan a JSON. `ON CONFLICT` opcional (Postgres / SQLite) o `ON DUPLICATE KEY UPDATE` (MySQL) así puedes meter la salida directo en un job de sync.
INSERT INTO "users" ("id", "name", "email", "verified", "joined")
VALUES
(1, 'Alice', 'alice@example.com', TRUE, '2024-01-15'),
(2, 'Bob', 'bob@example.com', FALSE, '2024-03-22'),
(3, 'Carol', NULL, TRUE, '2024-06-01');Los strings se escapan duplicando comillas simples — seguro para los cuatro dialectos.
Cómo usar
- Pega un array JSON de objetos (o un objeto único).
- Establece el nombre de tabla y el dialecto SQL.
- Conmuta VALUES multi-fila para una sola sentencia, o off para un INSERT por fila. Conmuta upsert si quieres ON CONFLICT / ON DUPLICATE KEY UPDATE.
Preguntas frecuentes
- ¿Cómo se manejan objetos anidados?
- Se serializan a JSON e insertan como string con comillas. Columnas PostgreSQL y MySQL de tipo `JSON` / `JSONB` las aceptan directamente; en SQLite entran como TEXT.
- ¿Diferencia entre multi-fila y un INSERT por fila?
- Multi-fila produce un único `INSERT INTO ... VALUES (…), (…), (…);` que corre mucho más rápido en carga masiva. Por fila produce N sentencias — más práctico cuando quieres comentar filas individuales o esperas fallos parciales.
- ¿Basta con este escapado para ejecutar el SQL con seguridad?
- Escapa las comillas simples para que las sentencias sean sintácticamente válidas, que no es lo mismo que ser seguras frente a una entrada hostil. El SQL generado es solo texto: léelo antes de ejecutarlo y, cuando los datos vengan de un sitio que no controlas, cárgalos con sentencias parametrizadas o con un cargador masivo como COPY o LOAD DATA en lugar de pegar un script generado en una consola.
- ¿Por qué salieron mis números entrecomillados, o mis identificadores perdieron dígitos?
- Los tipos siguen al JSON y no a tu tabla. Un valor escrito como "42" en JSON produce un literal entrecomillado aunque la columna sea entera: conviértelo en SQL o corrige el JSON. Los identificadores grandes son la trampa contraria: si llegaron como números JSON puede que ya hubieran perdido sus últimas cifras antes de llegar aquí, y por eso conviene transportarlos como cadenas.
Herramientas relacionadas
Generador de Datos Mock
Genera registros falsos realistas para pruebas — nombres, emails, fechas, IDs, lorem — exporta como JSON, CSV o SQL INSERT.
Generador de CSV → SQL INSERT
Convierte filas CSV / TSV en INSERT SQL con nombre de tabla, quoting por dialecto, inferencia de tipos y modo multi-row.
Conversor de escape de strings
Escapa un string para 10 contextos a la vez — JavaScript, JSON, entidades HTML, URL, SQL, regex, Bash (comillas simples/dobles), C string, escapes Unicode \u. Copia el que necesites.
Conversor JSON ↔ YAML
Convierte JSON a YAML o YAML a JSON — elige la indentación y copia el resultado.
CSV → HTML / Markdown / Tabla JSON
Convierte CSV a `<table>` HTML, tabla Markdown o array JSON de objetos — autodetecta el delimitador.
Convertidor INI ↔ JSON
Convierte entre archivos de configuración estilo INI y JSON — soporta secciones, anidamiento por puntos, comentarios e inferencia de tipos de valor.