Minifikator formatu JSON

Wklej sformatowany dokument JSON i otrzymaj jego wersję w jednej linii, z usuniętym każdym zbędnym bajtem: białymi znakami między tokenami, znakami nowej linii, końcowymi białymi znakami oraz komentarzami JSONC. Wynik ma liczbę bajtów porównywalną z najkrótszym możliwym zakodowaniem tych samych danych i jest gotowy do osadzenia w <script>, jako parametr URL lub jako payload rozliczany za bajt.

Jak zminifikować JSON

  1. 1

    Wklej JSON

    Sformatowany lub już częściowo zminifikowany. Dane wejściowe są parsowane i ponownie serializowane.

  2. 2

    Zminifikuj

    Wszystkie białe znaki między tokenami są usuwane; komentarze są usuwane; liczby pozostają bez zmian.

  3. 3

    Zobacz różnicę rozmiaru

    Liczba bajtów przed i po oraz procentowa redukcja.

  4. 4

    Skopiuj wynik

    JSON w jednej linii, gotowy do wklejenia do pliku z kodem lub żądania API.

Co jest usuwane

  • Białe znaki między tokenami: spacje, tabulatory oraz znaki nowej linii.
  • Komentarze (w stylu JSONC: // i /* */), usuwane, ponieważ ścisły JSON ich zabrania.
  • BOM oraz początkowe białe znaki na początku dokumentu.

Co nie jest usuwane

  • Wartości: każdy ciąg znaków, liczba, wartość logiczna oraz null są zachowywane dokładnie.
  • Format liczb: każda liczba zostaje zachowana dokładnie tak, jak została zapisana: 1.50 pozostaje 1.50, a 1e-3 pozostaje 1e-3. Narzędzie zachowuje wprowadzoną dokładność.
  • Kolejność kluczy: obiekty zachowują swoją pierwotną kolejność wstawiania.

Dlaczego minifikować JSON

Mniejsze payloady: sformatowana konfiguracja o wielkości 120 KB może skurczyć się do 70 KB, to ma znaczenie przy każdym żądaniu. – Wstawki inline: gdy umieszczasz JSON w tagu <script> lub w parametrze URL, białe znaki to zmarnowane pasmo. – Stabilność skrótu (hash): dwa semantycznie równoważne dokumenty JSON różniące się jedynie białymi znakami dają różne wartości skrótu. Wcześniejsza minifikacja zapewnia spójny skrót (choć prawdziwa kanonizacja sortuje też klucze).

Referencja do oszczędzenia bajtów

Wejście Sformatowany (2 spacje) Zminifikowany Oszczędności
Mała konfiguracja (50 klawiszy) 1,8 KB 1,1 KB 39%
Odpowiedź API (zagnieżdżona, 5 KB) 6,2 KB 4,1 KB 34%
Duży zrzut danych 1,2 MB 0,8 MB 33%

Po użyciu gzip różnica znacząco maleje, gzip już skutecznie kompresuje białe znaki. W przypadku surowych bajtów (adresy URL, wstawki inline) minifikuj; w przypadku transmisji przez sieć polegaj na gzip.

Gdy nie należy minimalizować

– Pliki konfiguracji przechowywane w systemie kontroli wersji – czytelność ma priorytet nad ilością bajtów. – Pliki edytowane przez użytkowników – nikt nie edytuje uproszczonego formatu JSON ręcznie, nie żałując tego decyzji. – Artefakty debugowe – pojedynczy plik JSON o wielkości 400 KB zawarty w protokole awarii jest niemożliwy do odczytania.

Najczęstsze błędy

Minifikacja danych JSON zależnych od komentarzy: Komentarze są usuwane, a zachowanie parsera może się zmienić w przypadku obecności znaczników typu „TODO“. – Minifikacja liczb zmiennoprzecinkowych: Niektóre narzędzia ponownie serializują 0.1 inaczej niż w danych wejściowych; to narzędzie zachowuje reprezentację tekstową dokładnie taką, jaka jest. – Używanie minifikacji jako kompresji: Gzip oszczędza więcej bajtów niż minifikacja w przypadku tekstu. Połącz obie metody, nie zastępuj jednej drugą.

Najczęściej zadawane pytania

Zwykle o 30–40% mniejszy w przypadku sformatowanych danych wejściowych. Oszczędność wynika niemal wyłącznie z usunięcia białych znaków; same dane pozostają bez zmian. Po kompresji gzip różnica między wersją zminifikowaną a sformatowaną jest zwykle mniejsza niż 5%, ponieważ gzip wydajnie obsługuje białe znaki.

Narzędzie zachowuje dokładną postać tekstową liczb: 1.50 pozostaje 1.50, a 1e-3 pozostaje 1e-3. Niektóre minifikatory normalizują wartości; ten domyślnie działa zachowawczo, więc nigdy nie dojdzie do niezamierzonej utraty dokładności.

Nie. Minifikacja odbywa się w całości w Twojej przeglądarce. Wklejony JSON nie opuszcza Twojego urządzenia, jest więc bezpieczny dla odpowiedzi API zawierających tokeny lub prywatne konfiguracje.

Tak, komentarze są tolerowane na wejściu i usuwane z wyniku (ścisły JSON ich nie dopuszcza). Jeśli chcesz zachować komentarze, trzymaj sformatowane źródło JSONC i minifikuj je dopiero przy wdrożeniu.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach