logo
GeekFormat

JSON Compress

Darmowe narzędzie online do kompresji JSON obsługujące jednolinijkową kompaktową minifikację JSON, JSON Escape/Unescape, wbudowaną inteligentną naprawę składni, która automatycznie obsługuje przecinki końcowe i inne typowe błędy, wyświetlanie współczynnika kompresji w czasie rzeczywistym, edytor CodeMirror ze skrótami klawiszowymi, czysta obróbka po stronie frontendowej.

Powiązane Rekomendacje

Przypadki użycia

  • Kompresja ciał żądań/odpowiedzi JSON w rozwoju API w celu zmniejszenia bajtów transmisji HTTP i poprawy szybkości odpowiedzi API (szczególnie w słabych sieciach mobilnych)
  • Minimalizacja frontendowych plików konfiguracyjnych JSON, pakietów językowych i18n i danych Mock przed wdrożeniem w celu zmniejszenia rozmiaru zasobów statycznych
  • Eskejpowanie obiektów JSON na literały ciągów do osadzania w kodzie testów jednostkowych, poleceniach Postman/curl
  • Jednoklikowe Unescape eskejpowanego JSON skopiowanego z logów (np. \"key\":\"value\") na czytelny JSON
  • Wsadowa naprawa plików JSON z błędami składni, takimi jak przecinki końcowe i pojedyncze cudzysłowy, konwertowanie na prawidłowy JSON jednym kliknięciem
  • Kompresja sformatowanego JSON do jednej linii i wklejanie do argumentów wiersza poleceń lub narzędzi czatu w celu udostępniania

Funkcje

  • Trzy w jednym: kompaktowa kompresja JSON + Escape + Unescape, obejmuje scenariusze zmniejszania rozmiaru, osadzania ciągów kodu i przywracania eskejpowania
  • Inteligentna naprawa składni: wbudowany silnik tryFixJSON automatycznie wykrywa i naprawia typowe błędy JSON, takie jak przecinki końcowe, pojedyncze cudzysłowy, komentarze, niezamknięte cudzysłowy
  • Edytor CodeMirror: dwukolumnowy układ z wejściem po lewej i wynikami po prawej, obsługuje podświetlanie składni JSON, przeciągalny separator, regulację rozmiaru czcionki
  • Statystyki kompresji w czasie rzeczywistym: pasek stanu natychmiast pokazuje oryginalny rozmiar (Bytes/KB/MB), rozmiar po kompresji i dokładny procent współczynnika kompresji
  • Skróty klawiszowe: Shift+Cmd/Ctrl+C kompresja, E eskejpowanie, U odeskejpowanie, O przesyłanie, D pobieranie, K czyszczenie — efektywne działanie bez myszy
  • Tryb automatycznego wykonywania: automatyczna kompresja/eskejpowanie z opóźnieniem 400 ms po wklejeniu lub edycji, WYSIWYG
  • Przesyłanie i pobieranie plików: przeciągnij lub kliknij, aby przesłać pliki .json/.txt, jednoklikowe pobranie output.json po przetworzeniu
  • Historia lokalna: localStorage automatycznie zapisuje ostatnią wprowadzoną zawartość, bez utraty danych po odświeżeniu strony
  • Dane przykładowe: jednoklikowe załadowanie przykładowego JSON do szybkiego wypróbowania, komunikaty o błędach z przyciskiem naprawy
  • Bezpieczeństwo frontendowe: wszystkie operacje działają lokalnie w przeglądarce, dane nie są wysyłane na serwer, działa w trybie offline

Jak Używać

  1. Wklej zawartość JSON do lewego edytora, kliknij przycisk przesyłania, aby wybrać lokalny plik .json/.txt, lub kliknij przycisk «Przykład», aby załadować przykład
  2. Tryb kompresji działa automatycznie domyślnie (opóźnienie 400 ms) lub kliknij ręcznie przycisk «Kompresuj» lub naciśnij Shift+Cmd/Ctrl+C
  3. Aby eskejpować do ciągów kodu, naciśnij Shift+Cmd/Ctrl+E lub przełącz się na tryb Escape; aby przywrócić eskejpowane ciągi, naciśnij Shift+Cmd/Ctrl+U
  4. Jeśli JSON ma błędy składni, na dole pojawi się czerwony komunikat o błędzie; gdy istnieją naprawialne błędy, pojawi się przycisk «Spróbuj naprawić» — kliknij, aby automatycznie poprawić
  5. Dolny pasek stanu pokazuje w czasie rzeczywistym liczbę bajtów przed/po kompresji i procent współczynnika kompresji; po potwierdzeniu wyników kliknij «Kopiuj» lub «Pobierz»
  6. Separator między lewym a prawym panelem jest przeciągalny w celu dostosowania szerokości; możesz również używać skrótów klawiszowych do szybkiego wykonania wszystkich operacji

Często Zadawane Pytania

Jaka jest różnica między kompresją JSON a formatowaniem JSON?

Formatowanie JSON (Beautify) dodaje wcięcia, nowe linie i spacje między parami klucz-wartość, aby uczynić je bardziej czytelnymi dla ludzi, odpowiednie do rozwoju i debugowania; kompresja JSON (Minify) usuwa wszystkie niepotrzebne znaki białe (spacje, nowe linie, tabulatory, wcięcia), przekształcając wielolinijkowy JSON w kompaktowy format jednolinijkowy w celu zmniejszenia rozmiaru i poprawy wydajności transmisji, odpowiedni do transmisji API w produkcji, minimalizacji plików konfiguracyjnych i osadzania w ciągach kodu. Te dwie operacje się uzupełniają — przeglądaj sformatowaną wersję podczas rozwoju, używaj skompresowanej wersji w produkcji.

Co to jest JSON Escape? Kiedy muszę go używać?

JSON Escape to dodawanie ukośników odwrotnych do znaków specjalnych w ciągach JSON (głównie konwertowanie podwójnych cudzysłowów " na \", ukośników odwrotnych \ na \\, nowych linii na \n itp.), przekształcając wielolinijkowe obiekty JSON w jednolinijkowe literały ciągów, które można bezpośrednio osadzać w kodzie źródłowym JavaScript, Java, Python itp. Typowe scenariusze: osadzanie odpowiedzi JSON jako ciągów w kodzie testowym podczas pisania testów jednostkowych; przekazywanie ciągów JSON w poleceniach Postman lub curl; używanie JSON jako wartości ciągów w plikach konfiguracyjnych. Unescape to operacja odwrotna, która przywraca eskejpowane ciągi z powrotem do standardowego JSON.

Jeśli wejściowy JSON ma błędy składni (np. przecinki końcowe), czy można go pomyślnie skompresować?

Tak. To narzędzie ma wbudowany inteligentny silnik naprawy składni (tryFixJSON), który przed kompresją automatycznie wykrywa i próbuje naprawić typowe błędy JSON: 1) przecinki końcowe (trailing comma), np. {"a":1,}; 2) pojedyncze cudzysłowy zamiast podwójnych, np. {'a':1}; 3) niezamknięte ciągi; 4) komentarze JavaScript (// i /* */); 5) dodatkowe przecinki na końcu itp. Po naprawie wykonywana jest kompresja lub eskejpowanie, aby zapewnić 100% prawidłowy JSON na wyjściu. Jeśli wykryta zostanie naprawialna błąd, na panelu pojawi się przycisk «Spróbuj naprawić»; kliknij go, aby automatycznie poprawić.

Czy kompresja JSON powoduje utratę danych? Jaki jest typowy współczynnik kompresji?

Brak utraty danych. Kompresja JSON usuwa tylko formatujące znaki białe (spacje, nowe linie, tabulatory) bez zmiany żadnych nazw kluczy, wartości, typów danych ani struktury. Po JSON.parse, a następnie JSON.stringify, dane są całkowicie identyczne z oryginałem. Współczynnik kompresji zależy od stopnia sformatowania oryginalnego JSON: jeśli oryginał był sformatowanym JSON z wcięciami 2-spacjowymi, współczynnik kompresji wynosi zazwyczaj 20%-40% (usunięcie wcięć i nowych linii); jeśli występują duże ilości kolejnych spacji lub komentarzy (po naprawie), współczynnik kompresji może przekroczyć 50%. Pasek stanu wyświetla oryginalne bajty, skompresowane bajty i dokładny współczynnik kompresji w czasie rzeczywistym.

Czy wrażliwe konfiguracje JSON lub dane API wyciekną podczas kompresji?

Nie. To narzędzie wykorzystuje architekturę czystej obróbki po stronie frontendowej; wszystkie operacje parsowania, kompresji, eskejpowania i naprawy JSON są wykonywane całkowicie w silniku JavaScript Twojej lokalnej przeglądarki. Dane nie są wysyłane na zewnętrzne serwery przez żadne żądania sieciowe, a narzędzie działa normalnie w trybie offline. Twoje klucze API, konfiguracje baz danych, dane biznesowe i inne wrażliwe informacje pozostają zawsze lokalnie.

Jakie skróty klawiszowe są obsługiwane?

Dla wydajności to narzędzie zapewnia pełną obsługę skrótów klawiszowych (używaj ⌘+Shift na macOS, Ctrl+Shift na Windows): Shift+⌘/Ctrl+C do jednoklikowej kompresji; Shift+⌘/Ctrl+E do Escape; Shift+⌘/Ctrl+U do Unescape; Shift+⌘/Ctrl+O do przesyłania pliku; Shift+⌘/Ctrl+D do pobierania wyniku; Shift+⌘/Ctrl+K do czyszczenia. Podczas pisania narzędzie automatycznie wykonuje bieżący tryb z opóźnieniem 400 ms (debounce), bez potrzeby wielokrotnego klikania przycisków.

Co to jest kompresja JSON (JSON Minify)?

Kompresja JSON (JSON Minification) to proces usuwania wszystkich niepotrzebnych znaków białych (spacje, nowe linie\n, tabulatory\t, powroty karetki\r) i komentarzy (niestandardowych, ale powszechnych) z tekstu JSON, przekształcający sformatowany JSON z wielopoziomowymi wcięciami w kompaktowy format jednolinijkowy. Kompresja JSON nie zmienia żadnej treści danych — nazwy kluczy, wartości, typy danych (ciąg/liczba/boolean/null/tablica/obiekt) i zagnieżdżona struktura pozostają całkowicie niezmienione; usuwa tylko formatujące białe znaki przeznaczone do czytelności dla ludzi.

Główna wartość kompresji JSON polega na zmniejszaniu rozmiaru danych. Spacje wcięć i nowe linie w sformatowanym JSON, choć przyjazne dla programistów, są nadmiarowymi bajtami podczas transmisji sieciowej i przechowywania. Na przykład typowa odpowiedź API może mieć 2 KB po sformatowaniu i tylko 1,2-1,5 KB po kompresji, co daje zmniejszenie rozmiaru o 25%-40%. W scenariuszach API o wysokiej współbieżności, słabych sieciach mobilnych i dystrybucji plików konfiguracyjnych na dużą skalę, kompresja JSON znacznie zmniejsza zużycie pasma, poprawia szybkość transmisji i zmniejsza obciążenie serwera. W środowiskach produkcyjnych jest zwykle używana wraz z kompresją HTTP, taką jak Gzip/Brotli, ale JSON Minify jako kompresja warstwy treści pozostaje niezastąpiona.

Implementacja kompresji JSON jest bardzo prosta: użyj JSON.parse() do parsowania tekstu na obiekt JavaScript, a następnie użyj JSON.stringify(obj) bez parametrów wcięć do serializacji wyjściowej — to jest dokładnie podstawowa implementacja tego narzędzia. To podejście parse + stringify w naturalny sposób gwarantuje, że wyjściowy JSON jest w 100% prawidłowy, a także może automatycznie usuwać nielegalne komentarze i przecinki końcowe (z naprawą błędów). Uwaga: kompresja JSON i kompresja Gzip to różne warstwy optymalizacji — JSON Minify usuwa nadmiarowe białe znaki na warstwie treści, Gzip to ogólny algorytm kompresji na warstwie transportowej; te dwie można używać w połączeniu.

术语表

JSON
JavaScript Object Notation, lekki format wymiany danych wykorzystujący pary klucz-wartość i struktury tablic, czytelny dla ludzi i parsowalny przez maszyny, standardowy format danych dla REST API.
Minify / Kompresja
Proces usuwania wszystkich niepotrzebnych znaków (spacje, nowe linie, komentarze) z kodu/danych w celu zmniejszenia rozmiaru, powszechnie stosowany do zasobów frontendowych JS/CSS/JSON.
Beautify / Formatowanie
Odwrotność Minify, dodawanie wcięć, nowych linii i spacji, aby struktura JSON była przejrzysta i czytelna, nazywana również Prettify lub Pretty Print.
Escape / Eskejpowanie
Dodawanie ukośników odwrotnych przed znakami specjalnymi (np. " staje się \", nowa linia staje się \n), przekształcanie wielolinijkowego JSON na jednolinijkowe literały ciągów do osadzania w kodzie.
Unescape / Odeskejpowanie
Odwrotność Escape, przywracanie sekwencji eskejpowych takich jak \", \n, \\ do oryginalnych znaków, odzyskiwanie standardowego formatu JSON.
Trailing Comma
Dodatkowy przecinek po ostatnim elemencie w obiekcie lub tablicy; dozwolony w JavaScript, ale nie w standardzie JSON, najczęstszy błąd składni JSON.
Gzip / Brotli
Ogólne algorytmy kompresji warstwy transportowej HTTP, komplementarne do JSON Minify; Gzip po Minify osiąga najlepszą kompresję.
Payload
Właściwe ciało danych przesyłane w żądaniu lub odpowiedzi API (zwykle w formacie JSON); kompresja Payload bezpośrednio zmniejsza zużycie pasma.
CodeMirror
Komponent edytora kodu po stronie przeglądarki; to narzędzie używa go do podświetlania składni JSON, numerów linii, dopasowywania nawiasów i innych profesjonalnych doświadczeń edycyjnych.

Porównanie kompresji JSON z powszechnymi metodami kompresji

MetodaWarstwa kompresjiBezstratnaCzytelnośćScenariusz użycia
JSON MinifyWarstwa treści (usuwanie białych znaków)TakNieczytelna (jedna linia)Transmisja API w produkcji, minimalizacja konfiguracji
JSON BeautifyWarstwa treści (dodawanie białych znaków)TakWysoce czytelnaRozwój, debugowanie, ręczne czytanie
GzipWarstwa transportowaTakNieczytelna (binarna)HTTP Content-Encoding odpowiedzi
BrotliWarstwa transportowaTakNieczytelna (binarna)Kompresja statycznych zasobów HTTPS (o 20% lepsza niż Gzip)
MessagePackWarstwa serializacjiTakNieczytelna (binarna)Wysokowydajna komunikacja wewnętrzna RPC

Tabela referencyjna znaków specjalnych JSON Escape

Oryginalny znakPo eskejpowaniuNazwaOpis
"\"Podwójny cudzysłówNajczęstszy znak, który musi być eskejpowany w ciągach JSON
\\\Ukośnik odwrotnySam znak eskejpujący wymaga eskejpowania
Newline\nNewlineMusi być eskejpowany podczas kompresji wielolinijkowych ciągów do jednej linii
Tab\tTabEskejpowanie tabulatora wcięcia
Carriage Return\rCarriage ReturnCR w nowej linii Windows CRLF
/\/UkośnikDozwolony, ale nie wymagany przez standard JSON (opcjonalnie)

Authoritative References