Przejdź do treści

SQL do JSON

Konwertuj instrukcje SQL INSERT na tablicę obiektów JSON.

Wejście
Wynik

SQL do JSON

Wklej jedną lub więcej instrukcji SQL INSERT INTO, a to narzędzie zamieni je w tablicę obiektów JSON, po jednym w wierszu, używając nazw kolumn jako kluczy. Obsługuje wielowierszowe listy VALUES, kilka instrukcji na raz i odmiany cytowania widoczne w zrzutach MySQL, PostgreSQL i SQL Server — wartości łańcuchowe w pojedynczych cudzysłowach z ucieczką „” i identyfikatory ujęte w odwrotne znaki, podwójne cudzysłowy lub nawiasy kwadratowe.

Wybierz „Grupowane według tabeli” zamiast domyślnej płaskiej tablicy, jeśli dane wejściowe łączą instrukcje INSERT dla kilku tabel — wiersze są następnie gromadzone pod własną nazwą każdej tabeli w jednym obiekcie JSON. Wnioskowanie o typach rzutuje literały numeryczne na liczby JSON, PRAWDA/FAŁSZ na wartości logiczne i NULL na JSON null; wyłącz ją, aby zachować każdą wartość dokładnie tak, jak została odczytana w SQL, jako zwykły ciąg. Ładne drukowanie dodaje wcięcie z dwiema spacjami dla czytelności lub wyłącza je, aby uzyskać kompaktowy, zminimalizowany wynik.

Parser to mały, ręcznie napisany tokenizer zbudowany do tego jednego zadania — żaden silnik SQL nigdzie nie działa i nic nigdy nie jest wykonywane. Jeśli nie można przeanalizować instrukcji, narzędzie zgłasza wiersz i kolumnę oraz wyświetla fragment powodujący naruszenie, zamiast po cichu zakończyć niepowodzenie lub zgadywać, jak rozwiązać problem. Wiersz z inną liczbą wartości niż zadeklarowane kolumny jest raportowany w ten sam sposób, więc literówka w skrypcie migracji lub pliku źródłowym jest łatwa do wykrycia.

Wszystko działa w Twojej przeglądarce. Wklejany kod SQL — nazwy tabel, dane początkowe, elementy migracji — nigdy nie opuszcza Twojego urządzenia, więc można go bezpiecznie używać na zrzutach produkcyjnych lub czymkolwiek, co zawiera prawdziwe dane klientów. Kiedy skończysz, skopiuj plik JSON, pobierz go jako plik lub wyślij bezpośrednio do innego narzędzia, takiego jak formater JSON.

Częste pytania

Jakie dialekty SQL rozumie?
Standardowe instrukcje INSERT INTO z ciągami znaków w pojedynczym cudzysłowie, literałami NULL/TRUE/FALSE oraz identyfikatorami w cudzysłowie, cudzysłowie lub nawiasie — wspólna płaszczyzna między zrzutami MySQL, PostgreSQL i SQL Server. Nie obsługuje prawdziwego silnika SQL, więc wyrażenia, podzapytania i wywołania funkcji wewnątrz wartości VALUES nie są obsługiwane.
Co się dzieje z wieloma instrukcjami INSERT na jednym wejściu?
Każda instrukcja jest analizowana, a jej wiersze dodawane do wyniku — jako jedna płaska tablica (domyślnie) lub grupowana według nazwy tabeli, jeśli przełączysz kształt wyjściowy, a wiersze z powtarzających się instrukcji dotyczących tej samej tabeli zostaną scalone w jedną listę.
Co się stanie, jeśli instrukcja nie deklaruje nazw kolumn?
Kolumny nazywane są col1, col2 itd. w zależności od pozycji, więc JSON nadal otrzymuje jeden klucz na wartość.
Jak działa wnioskowanie o typie?
Po włączeniu literały numeryczne stają się liczbami JSON, PRAWDA/FAŁSZ stają się wartościami logicznymi, a NULL staje się wartością JSON null. Wyłącz tę opcję, aby zachować każdą wartość dokładnie tak, jak zapisano, jako ciąg znaków.
Czy mój SQL jest gdzieś przesłany?
Nie. Analizowanie odbywa się całkowicie w przeglądarce — wklejony kod SQL, w tym wszelkie zawarte w nim rzeczywiste dane, nigdy nie opuszcza urządzenia.