JSON a SQL

Eina online gratuita per convertir arrays JSON en INSERT i, si cal, generar tambe CREATE TABLE.

Relacionats

Que es convertir JSON a SQL

Convertir JSON a SQL significa transformar arrays i objectes JSON en scripts INSERT i CREATE TABLE que es puguin executar en una base de dades relacional.

L’eina fa servir les claus dels objectes com a noms de columna i els valors com a literals SQL, i si convé també genera l’esquema DDL.

La inferencia de tipus, les diferencies entre dialectes i el batch insert es resolen al navegador, fent el proces mes rapid i segur que fer-ho manualment.

Casos d'ús

  • Convertir JSON d’una API en scripts INSERT per carregar-lo a una base de dades relacional.
  • Crear dades seed SQL a partir de mock JSON per a entorns de desenvolupament i proves.
  • Generar CREATE TABLE a partir de l’estructura JSON en inicialitzar una base de dades nova.
  • Migrar dades JSON procedents de logs o document stores cap a un sistema SQL.
  • Mostrar en formacio o demo com es mapeja JSON a tipus SQL i batch insert.

Com usar-ho

  1. Enganxa un array JSON o un objecte al panell esquerre, o carrega un fitxer .json/.txt.
  2. Selecciona el dialecte SQL de destinacio des de la barra d’eines.
  3. Si cal, defineix el nom de la taula, activa CREATE TABLE i ajusta el batch size.
  4. Executa la conversio i revisa el SQL i el recompte de files/columnes al panell dret.
  5. Copia el resultat o descarrega el fitxer .sql per executar-lo al teu client de base de dades.

Característiques

  • Genera batch INSERT a partir d’arrays JSON amb mides d’1 a 1000 files per sentencia.
  • Pot generar CREATE TABLE DDL de manera opcional amb inferencia automatica dels tipus.
  • Suporta mes de 20 dialectes SQL, incloent MySQL, PostgreSQL, SQLite i SQL Server.
  • Ofereix inferencia intel·ligent per a NULL, booleans, nombres, dates ISO i cadenes curtes o llargues.
  • Utilitza sql-formatter per fer el SQL resultant mes llegible.
  • Tot el processament es fa localment al navegador, sense pujar el JSON a cap servidor.

Preguntes freqients

Com puc convertir un array JSON en SQL INSERT?

Enganxa l’array JSON i cada objecte es convertira en dades per a INSERT: les claus seran noms de columna i els valors seran literals SQL.

Es pot generar CREATE TABLE automaticament?

Si. Activa l’opcio CREATE TABLE i l’eina inferira els tipus de columna per construir el DDL.

Quins dialectes SQL suporta?

Suporta MySQL, PostgreSQL, SQLite, SQL Server i mes de 20 dialectes, ajustant automaticament les cometes d’identificador i els noms de tipus.

Com funciona la inferencia de tipus?

L’eina detecta NULL, boolean, integer, float, dates ISO 8601 i cadenes curtes o llargues, i les mapeja al tipus SQL adequat.

Suporta bulk insert?

Si. Pots configurar un batch size d’1 a 1000 files per cada INSERT.

Que passa si el JSON te errors de sintaxi?

Es prova una reparacio automatica per errors habituals com trailing commas o cometes incorrectes. Si no n’hi ha prou, comprova abans el JSON amb el formatter.

Les dades s’envien a cap servidor?

No. El parse del JSON, la inferencia de tipus i la generacio SQL es fan localment amb JavaScript al navegador.

Les dates es detecten automaticament?

Si. Les cadenes ISO 8601 de data o data-hora es reconeixen com DATE o TIMESTAMP.

Solució de problemes

Nomes veig "No valid objects found in JSON" al panell dret

El nivell superior no es un array/objecte o l’array conte valors primitius sense claus per generar columnes.

L’SQL generat dona error de sintaxi a la base de dades

Sovint el problema es un dialecte incorrecte, un nom reservat o un batch size massa gran.

Un camp de data s’ha detectat com VARCHAR en lloc de DATE/TIMESTAMP

La cadena no esta en format ISO 8601 i per aixo l’eina la tracta com a text normal.

La mateixa columna barreja numeros i text

Quan hi ha conflicte de tipus, la columna es promociona automaticament a un tipus mes ampli, com VARCHAR.

Glossari

JSON
Format lleuger d’intercanvi de dades molt utilitzat en APIs i fitxers de configuracio.
SQL
Llenguatge estandard per treballar amb bases de dades relacionals.
INSERT
Sentencia DML que afegeix files a una taula.
CREATE TABLE
Sentencia DDL que defineix el nom de la taula, columnes i tipus de dades.
Dialecte SQL
Diferencies de sintaxi i tipus entre productes de base de dades.
Inferencia de tipus
Proces automatic per determinar el tipus SQL a partir dels valors JSON.
Batch insert
Agrupar multiples files en un sol INSERT per millorar el rendiment d’importacio.

Dialectes SQL compatibles i diferencies principals

Resum dels dialectes principals, cometes d’identificador, tipus enter i representacio boolean.

DialecteCometa d’identificadorTipus enterBooleanIF NOT EXISTS
MySQLaccent greu `INTTRUEsi
PostgreSQLcometes dobles "INTEGERTRUEsi
SQLitecometes dobles "INTEGER1/0si
SQL Serverclaudators []INT1/0no
BigQueryaccent greu `INT64TRUEsi
Snowflakecometes dobles "NUMBERTRUEsi

Regles d’inferencia JSON -> SQL

Regles principals que fa servir detectType per decidir el tipus SQL.

Valor JSONExempleTipus SQL inferitRegla
nullnullNULLJSON null es mapeja a SQL NULL.
booleantrue / falseBOOLEANS’utilitza BOOLEAN o 1/0 segons el dialecte.
integer1, 100, -9999INT / BIGINTEs tria INT o BIGINT segons el rang del valor.
float3.14, -0.5FLOAT / DOUBLE / REALPer a floats s’usa el tipus decimal adequat al dialecte.
ISO 8601 datetime2024-05-20T10:30:00TIMESTAMPLa data-hora ISO 8601 es reconeix com a TIMESTAMP.
short / long stringAlice / 500 charsVARCHAR / TEXTFins a 255 caracters s’usa VARCHAR, per damunt TEXT.

Privacy & Security

Aquest convertidor JSON a SQL funciona completament dins del teu navegador. El parse del JSON, la inferencia de tipus, la generacio SQL i el formatat es fan al client, sense enviar les dades d’entrada a cap servidor.

Authoritative References