tigtools

Formater JSON

Wklej JSON, aby go sformatować lub zminifikować. Jeśli dane są nieprawidłowe, dowiesz się, co jest nie tak i gdzie. Dane pozostają w przeglądarce.

Działa w przeglądarce Bez rejestracji

Wcięcie

Jak używać

  1. Wklej JSON w polu wejściowym lub naciśnij „Wypróbuj przykład”.
  2. Wybierz wcięcie (2 spacje, 4 spacje lub tabulator) i, jeśli chcesz, posortuj klucze alfabetycznie.
  3. Odczytaj sformatowany wynik po prawej stronie. Naciśnij „Minifikuj”, aby usunąć wszystkie białe znaki.
  4. Jeśli JSON zawiera błąd składni, popraw go we wskazanym wierszu i kolumnie, a następnie skopiuj wynik lub pobierz go jako plik .json.

Jak to działa

Formater analizuje tekst za pomocą wbudowanego w przeglądarkę parsera JSON, a następnie zapisuje go ponownie z wybranym wcięciem. Dzięki temu wynik jest zawsze prawidłowym JSON-em o spójnym formatowaniu. Minifikacja zapisuje te same dane bez spacji i podziałów wiersza — w najkrótszej postaci, odpowiedniej do przesyłania przez sieć lub zapisania w wartości konfiguracyjnej.

Jeśli dane wejściowe nie są prawidłowym JSON-em, prosty walidator wskazuje pierwszy błąd oraz jego wiersz i kolumnę, a także wyjaśnia typowe pomyłki: końcowe przecinki, pojedyncze cudzysłowy, klucze bez cudzysłowów, komentarze oraz wartości takie jak NaN lub undefined, które występują w JavaScript, ale nie w JSON. Przeglądarki różnie opisują błędy JSON, dlatego pozycję błędu oblicza samo narzędzie, zamiast odczytywać ją z komunikatu przeglądarki.

Pamiętaj o ograniczeniach formatowania. Liczby są przechowywane jako 64-bitowe liczby zmiennoprzecinkowe o podwójnej precyzji, dlatego liczby całkowite większe niż 9,007,199,254,740,991 (2^53 − 1), na przykład niektóre identyfikatory z baz danych, tracą precyzję: 9007199254740993 zmienia się w 9007199254740992. Takie identyfikatory zapisuj jako ciągi znaków. Jeśli obiekt zawiera ten sam klucz dwa razy, zachowana zostanie tylko ostatnia wartość. Klucze wyglądające jak liczby całkowite ("1", "20") JavaScript zawsze umieszcza przed pozostałymi, niezależnie od tego, czy włączysz sortowanie. Dane o rozmiarze do kilku megabajtów działają bez problemu; przy tekstach dłuższych niż około 300 000 znaków formatowanie na bieżąco zostaje wstrzymane i trzeba nacisnąć „Formatuj”, aby pisanie pozostało płynne.

Przykłady

Odczytywanie odpowiedzi API

REST API zwraca jedną długą linię, na przykład {"user":{"id":7,"tags":["a","b"]}}. Formatowanie z wcięciem 2 spacji umieszcza każdy klucz w osobnym wierszu i zagnieżdża tablicę tags, dzięki czemu od razu widać strukturę.

Porównywanie dwóch plików konfiguracyjnych

Dwa pliki konfiguracyjne JSON zawierają te same ustawienia, ale w innej kolejności. Sformatuj oba z włączoną opcją „Sortuj klucze A–Z”. Wyniki będą teraz do siebie pasować, a porównanie tekstu pokaże tylko rzeczywiste różnice.

Znajdowanie zbędnego przecinka

Ręcznie edytowany plik package.json nie chce się wczytać. Po wklejeniu zobaczysz komunikat „Końcowy przecinek” w wierszu 14, kolumnie 5, wskazujący przecinek po ostatniej zależności.

Często zadawane pytania

Dlaczego duża liczba zmieniła się po sformatowaniu?

Parsery JSON w przeglądarkach przechowują liczby jako 64-bitowe liczby zmiennoprzecinkowe, które dokładnie reprezentują tylko liczby całkowite do 9,007,199,254,740,991. Większe liczby całkowite są zaokrąglane do najbliższej reprezentowalnej wartości. Jeśli dane zawierają 64-bitowe identyfikatory, przesyłaj je jako ciągi znaków.

Czy można formatować JSON z komentarzami lub końcowymi przecinkami (JSON5, JSONC)?

Nie. Narzędzie ściśle przestrzega standardu JSON (RFC 8259) i zgłasza komentarze oraz końcowe przecinki jako błędy, podając ich pozycję, dzięki czemu możesz je usunąć. Tak samo działają też najpopularniejsze parsery JSON w językach programowania.

Czy sortowanie kluczy zmienia moje dane?

Nie. Zmienia się tylko kolejność kluczy w obiektach, a nie wartości. Zgodnie z definicją obiekty JSON są nieuporządkowane, więc wynik jest równoważny. Tablice nigdy nie są porządkowane na nowo, ponieważ ich kolejność ma znaczenie.

Jak duży plik mogę sformatować?

W aktualnej przeglądarce na komputerze można przetwarzać pliki o rozmiarze kilku megabajtów. Przy danych wejściowych dłuższych niż około 300 000 znaków narzędzie czeka na naciśnięcie „Formatuj” lub „Minifikuj”, zamiast formatować tekst po każdym naciśnięciu klawisza. Przy bardzo dużych wynikach przewijanie pola tekstowego na telefonie może działać wolno.

Czy mój JSON jest gdzieś przesyłany?

Nie. Analizowanie i formatowanie odbywa się w przeglądarce za pomocą JavaScript. Tekst nie jest wysyłany na serwer ani zapisywany.

Prywatność

JSON jest analizowany i formatowany wyłącznie w przeglądarce. Nie jest przesyłany, rejestrowany ani przechowywany i nie trafia do danych analitycznych.