SQL-naar-JSON-converter
Plak INSERT-statements of een result set. Je krijgt een JSON-array terug.
Wat deze tool doet
Als je ooit een paar INSERT-statements uit een migration of de output van een pg_dump hebt getrokken en ze als JSON nodig had voor een API-seed of een fixture, dan fixt deze tool dat in één plak. Geen reden om de dump in een database te laden alleen om er met SELECT ... FOR JSON weer iets uit te halen.
De tool leest INSERT INTO table (col, col, ...) VALUES (...)-statements — multi-row INSERTs inclusief — en geeft een JSON-array terug waarin elke rij een JSON-object is met de kolomnamen als keys. Ondersteunt het standaarddialect dat ISO SQL afdekt en de gebruikelijke varianten in PostgreSQL, MySQL, SQLite en SQL Server.
Waardes krijgen het type dat je zou verwachten: integer- en decimaalliterals blijven numbers, strings tussen quotes blijven strings, NULL wordt JSON-null, TRUE/FALSE worden booleans. Datum/tijd-literals ('2024-01-15', '2024-01-15 10:30:00') komen eruit als ISO-8601-strings. Als je meerdere INSERTs voor verschillende tabellen plakt, krijgt elke tabel zijn eigen key in de output, met de rijen als JSON-array eronder.
Hoe je het gebruikt
Drie stappen. Werkt hetzelfde of je nou drie rijen plakt of drieduizend.
Plak je SQL (of probeer het voorbeeld)
Gooi je INSERT-statements in de linker editor. Een enkele INSERT, een multi-row INSERT of meerdere INSERTs in verschillende tabellen — allemaal prima. Klik op Voorbeeld laden voor een realistisch orders-en-items-voorbeeld.
Laat de SQL zoals die is — puntkomma's aan het eind, inline comments (-- of /* ... */) en schema-prefixes (public.orders) worden allemaal netjes geparsed.
Klik op Converteren
Klik op de groene Converteren-knop. De tool leest elk INSERT, matcht de values aan de kolomnamen en bouwt het JSON in één keer op.
Kopieer het JSON
Het rechter paneel toont een JSON-array (of een object van arrays bij multi-tabel-dumps). Zet het direct in een API-seed, een Jest-fixture of een statische mock server.
Wanneer dit echt van pas komt
Seeden vanuit een bestaande dump
Je hebt een <code>mysqldump</code>- of <code>pg_dump</code>-bestand en je wilt JSON-seed-data voor een nieuwe app die niet direct met de oude DB praat. Plak de INSERTs, houd het JSON.
Test-fixtures bouwen
Pak een paar rijen uit productie als INSERT-statements (zonder gevoelige dingen) en converteer ze naar JSON-fixtures voor integratietests of Storybook-mocks.
API-seed-bestanden
Een nieuwe microservice verwacht een seed in JSON, maar de data staat als SQL-inserts in de monorepo. Eén plak en je hebt het seed-bestand.
Data doorgeven aan het front-end-team
Het front-end-team wil voorbeelddata voor een nieuw scherm. Jij hebt de SQL bij de hand. Converteer naar JSON en zet het in hun repo als mock response.
Veelgestelde vragen
Welke SQL-dialecten worden ondersteund?
De gemeenschappelijke kern: INSERT-syntax van PostgreSQL, MySQL/MariaDB, SQLite en SQL Server. Dialect-specifieke dingen zoals PostgreSQL's E'...'-escapes of MySQL's identifiers tussen backticks worden afgehandeld.
Worden multi-row INSERTs ondersteund?
Ja — INSERT INTO orders (id, total) VALUES (1, 9.99), (2, 15.50), (3, 42.00); komt eruit als een JSON-array van drie elementen, één object per rij.
En INSERTs in meerdere tabellen?
Elke tabel eindigt als een eigen key in het output-JSON, met de rijen als JSON-array. Een migration die in orders en order_items inserted geeft dus {"orders": [...], "order_items": [...]} — handig voor seed-bestanden die de relationele structuur moeten bewaren.
Hoe worden NULL, datums en booleans behandeld?
NULL wordt JSON-null. TRUE/FALSE (of 0/1 als het schema niet af te leiden is) worden JSON-booleans of -numbers. Datumliterals komen eruit als ISO-8601-strings volgens RFC 3339.
Voert het de SQL uit?
Nee — er wordt niets tegen een database uitgevoerd. De tool parsed de INSERT-syntax en geeft JSON terug. Je data verlaat de conversion-request niet.
En SELECT-result sets?
Plak een geformatteerd result set (kolomheaders plus rijen) en de tool doet zijn best om een JSON-array te maken. INSERT-syntax is betrouwbaarder omdat de kolomnamen expliciet zijn — gebruik bij voorkeur INSERTs.
Andere tools die je misschien nodig hebt
SQL naar JSON past goed bij de rest van de toolbox: