Incolla l'SQL a sinistra e clicca "Converti" — lo trasformiamo in JSONIncolla gli statement SQL

Cosa fa questo tool

Se ti è mai capitato di estrarre un po' di INSERT da una migration o dall'output di un pg_dump e ti servivano in JSON per il seed di un'API o una fixture, qui basta un incolla. Non serve caricare il dump in un database solo per fare SELECT ... FOR JSON e ritirarlo fuori.

Il tool legge gli statement INSERT INTO table (col, col, ...) VALUES (...) — anche multi-row — ed emette un array JSON in cui ogni riga è un oggetto JSON con le colonne come chiavi. Supporta il dialetto standard coperto da ISO SQL e le varianti più comuni di PostgreSQL, MySQL, SQLite e SQL Server.

I valori vengono tipizzati come te li aspetti: i letterali interi e decimali restano numeri, le stringhe tra apici restano stringhe, NULL diventa null JSON, TRUE/FALSE diventano booleani. I letterali data/ora ('2024-01-15', '2024-01-15 10:30:00') escono come stringhe ISO-8601. Se incolli più INSERT su tabelle diverse, ogni tabella riceve la propria chiave in output, con le righe come array JSON sotto.

Come si usa

Tre step. Funziona uguale se incolli tre righe o tremila.

1

Incolla il tuo SQL (o prova l'esempio)

Butta i tuoi INSERT nell'editor di sinistra. Un INSERT singolo, un INSERT multi-row o più INSERT su tabelle diverse — va tutto bene. Clicca Carica esempio per vedere un caso realistico con orders e items.

Lascia l'SQL così com'è — i punti e virgola finali, i commenti inline (-- o /* ... */) e i prefissi di schema (public.orders) vengono parsati senza problemi.

2

Clicca Converti

Clicca il bottone verde Converti. Il tool legge tutti gli INSERT, abbina i valori ai nomi delle colonne e costruisce il JSON in una passata.

3

Copia il JSON

Il pannello a destra mostra un array JSON (o un oggetto di array per dump multi-tabella). Mettilo direttamente in un seed di API, in una fixture Jest o in un mock server statico.

Quando serve davvero

Seed da un dump esistente

Hai un file <code>mysqldump</code> o <code>pg_dump</code> e vuoi dati seed in JSON per un'app nuova che non parla direttamente con il vecchio DB. Incolli gli INSERT, ti tieni il JSON.

Costruire fixture di test

Prendi qualche riga da produzione come statement INSERT (senza roba sensibile) e converti in fixture JSON per i test di integrazione o i mock di Storybook.

File di seed per API

Un nuovo microservizio si aspetta un seed in JSON ma i dati vivono come SQL insert nel monorepo. Un incolla e hai il file di seed.

Passare dati al team front-end

Il team front-end vuole dati d'esempio per una nuova schermata. Tu l'SQL ce l'hai sottomano. Converti in JSON e lascialo nel loro repo come mock response.

Domande frequenti

Quali dialetti SQL gestisce?

Il sottoinsieme comune: sintassi INSERT di PostgreSQL, MySQL/MariaDB, SQLite e SQL Server. Le peculiarità di dialetto come gli escape E'...' di PostgreSQL o gli identificatori tra backtick di MySQL sono gestite.

Supporta gli INSERT multi-row?

Sì — INSERT INTO orders (id, total) VALUES (1, 9.99), (2, 15.50), (3, 42.00); esce come array JSON di tre elementi, un oggetto per riga.

E gli INSERT su più tabelle?

Ogni tabella finisce come chiave a sé nel JSON di output, con le righe come array JSON. Quindi una migration che inserisce in orders e order_items ti dà {"orders": [...], "order_items": [...]} — comodo per i seed che devono preservare la struttura relazionale.

Come vengono gestiti NULL, date e booleani?

NULL diventa null JSON. TRUE/FALSE (o 0/1 se lo schema non si può inferire) diventano rispettivamente booleani o numeri JSON. I letterali data escono come stringhe ISO-8601 secondo RFC 3339.

Esegue l'SQL?

No — non viene eseguito niente contro un database. Il tool parsa la sintassi dell'INSERT ed emette JSON. I tuoi dati non lasciano la richiesta di conversione.

E i result set delle SELECT?

Incolla un result set formattato (header di colonna più righe) e il tool fa del suo meglio per emettere un array JSON. La sintassi INSERT è più affidabile perché i nomi delle colonne sono espliciti — se puoi, meglio INSERT.

Altri tool che ti possono servire

SQL a JSON si sposa bene con il resto della cassetta degli attrezzi: