Indsæt SQL til venstre og klik på "Konverter" — så laver vi det om til JSONIndsæt SQL-sætninger

Hvad værktøjet gør

Hvis du nogensinde har trukket en stribe INSERT-sætninger ud af en migration eller outputtet fra en pg_dump og haft brug for det som JSON til en API-seed eller en fixture, klarer det her det på en enkelt indsætning. Ingen grund til at hente dumpet ind i en database, bare for at SELECT ... FOR JSON-e det ud igen.

Værktøjet læser INSERT INTO table (col, col, ...) VALUES (...)-sætninger — multi-row INSERTs inkluderet — og spytter et JSON-array ud, hvor hver række er et JSON-objekt med kolonnenavnene som nøgler. Understøtter standarddialekten dækket af ISO SQL og de gængse varianter i PostgreSQL, MySQL, SQLite og SQL Server.

Værdierne får de typer, du forventer: integer- og decimal-literaler forbliver tal, strenge i anførselstegn forbliver strenge, NULL bliver til JSON-null, TRUE/FALSE bliver booleans. Dato-/tids-literaler ('2024-01-15', '2024-01-15 10:30:00') kommer ud som ISO-8601-strenge. Hvis du indsætter flere INSERTs mod forskellige tabeller, får hver tabel sin egen nøgle i outputtet med rækkerne som JSON-array nedenunder.

Sådan bruger du det

Tre trin. Fungerer ens, om du indsætter tre rækker eller tre tusinde.

1

Indsæt din SQL (eller prøv eksemplet)

Smid dine INSERT-sætninger i editoren til venstre. En enkelt INSERT, en multi-row INSERT eller flere INSERTs i forskellige tabeller — alt fungerer. Klik på Indlæs eksempel for at se et realistisk orders-og-items-eksempel.

Lad SQL'en være, som den er — afsluttende semikolon, inline-kommentarer (-- eller /* ... */) og schema-præfikser (public.orders) parses alle korrekt.

2

Klik på Konverter

Klik på den grønne Konverter-knap. Værktøjet læser hver INSERT, matcher værdier med kolonnenavne og bygger JSON i ét hug.

3

Kopier JSON

Højre panel viser et JSON-array (eller et objekt af arrays ved multi-tabel-dumps). Smæk det direkte ind i en API-seed, en Jest-fixture eller en statisk mock-server.

Når det faktisk redder dagen

Seed fra et eksisterende dump

Du har en <code>mysqldump</code>- eller <code>pg_dump</code>-fil og vil have JSON-seed-data til en ny app, der ikke taler direkte med den gamle DB. Indsæt INSERTs, behold JSON'en.

Bygge test-fixtures

Snup nogle rækker fra produktion som INSERT-sætninger (uden noget følsomt) og konverter til JSON-fixtures til integrationstests eller Storybook-mocks.

API-seed-filer

En ny microservice forventer at blive seedet fra JSON, men dataene ligger som SQL-inserts i monorepoet. Én indsætning giver dig seed-filen.

Aflevere data til frontend-teamet

Frontend-teamet vil have eksempeldata til en ny skærm. Du har SQL'en lige ved hånden. Konverter til JSON og læg det i deres repo som mock-respons.

Ofte stillede spørgsmål

Hvilke SQL-dialekter understøtter den?

Fællesmængden: INSERT-syntaks fra PostgreSQL, MySQL/MariaDB, SQLite og SQL Server. Dialekt-specifikke særheder som PostgreSQLs E'...'-escapes eller MySQLs identifikatorer i backticks håndteres.

Understøtter den multi-row INSERTs?

Ja — INSERT INTO orders (id, total) VALUES (1, 9.99), (2, 15.50), (3, 42.00); kommer ud som et tre-element JSON-array med ét objekt per række.

Hvad med INSERTs i flere tabeller?

Hver tabel ender som sin egen nøgle i output-JSON'en, med rækkerne som JSON-array. Så en migration, der inserter i orders og order_items, giver dig {"orders": [...], "order_items": [...]} — praktisk til seed-filer, der skal bevare den relationelle struktur.

Hvordan håndteres NULL, datoer og booleans?

NULL bliver til JSON-null. TRUE/FALSE (eller 0/1, hvis schemaet ikke kan udledes) bliver henholdsvis JSON-booleans eller tal. Dato-literaler kommer ud som ISO-8601-strenge efter RFC 3339.

Kører den SQL'en?

Nej — der køres ingenting mod en database. Værktøjet parser INSERT-syntaksen og spytter JSON ud. Dine data forlader ikke konverterings-requesten.

Hvad med SELECT-result sets?

Indsæt et formateret result set (kolonneoverskrifter plus rækker), og værktøjet gør sit bedste for at spytte et JSON-array ud. INSERT-syntaks er mere pålidelig, fordi kolonnenavnene er eksplicitte — brug INSERTs, når det kan lade sig gøre.

Andre værktøjer, du måske har brug for

SQL til JSON spiller godt sammen med resten af værktøjskassen: