Kategoria: Programistyczne

Formatowanie JSON

Formatuj, wcinaj i porządkuj JSON.

Działa w przeglądarcePrzetwarzanie lokalne. Dane wejściowe nie opuszczają Twojego urządzenia.

Szczegóły

O tym narzędziu

Wklej JSON, a wróci poprawnie wcięty, w trakcie pisania. Wybierz dwie spacje, cztery, tabulatory albo brak odstępów, żeby zminimalizować, i opcjonalnie posortuj klucze każdego obiektu alfabetycznie.

Zminimalizowana odpowiedź API to jedna wielka linia i żadne mrużenie oczu nie zamieni jej w coś, co człowiek prześledzi. Wcięcia przywracają strukturę: jeden klucz na linię, zagnieżdżenie widoczne z głębokości, tablice rozłożone tak, że da się je policzyć. To całe zadanie i najszybszy sposób na odpowiedź, które pole jest puste, jak głęboko sięga zagnieżdżenie albo czy to, co miało być obiektem, nie jest przypadkiem tablicą z jednym obiektem w środku.

Sortowanie kluczy służy porównywaniu. Dwa dokumenty JSON różniące się tylko kolejnością kluczy to ten sam dokument, ale zwykłe porównanie tekstowe pokaże je jako zupełnie inne. Posortowanie obu sprawia, że jedynymi różnicami zostają różnice prawdziwe - przydatne przy plikach konfiguracyjnych, migawkach API i wszystkim, co trafia do repozytorium, gdzie stała kolejność utrzymuje też przyszłe różnice w ryzach.

Minimalizacja robi rzecz odwrotną i warto ją zrobić, zanim ładunek pójdzie w świat: białe znaki nie niosą w JSON-ie żadnego znaczenia, więc ich usunięcie nic nie kosztuje, a przy dużej odpowiedzi potrafi ująć zauważalny kawałek. Formatowanie nigdy nie zmienia danych - te same wartości, ta sama kolejność, o ile nie poprosisz o sortowanie, i liczby zapisane dokładnie tak, jak były.

Niepoprawne wejście jest zgłaszane z linią i kolumną, w której parsowanie się zatrzymało, więc formatowanie służy przy okazji za walidację. Wszystko liczy się w przeglądarce, co ma tu większe znaczenie niż przy większości narzędzi, bo JSON wklejany do formatera to zwykle prawdziwa odpowiedź API z prawdziwymi danymi klientów.

Wypróbuj też

  • Sprawdź poprawność JSON i znajdź dokładne miejsce błędu.

    Działa w przeglądarceProgramistyczne
  • Podejrzyj nagłówek i dane tokenu JSON Web Token.

    Działa w przeglądarceProgramistyczne

Warto wiedzieć

Najczęstsze pytania

Czy mój JSON jest wysyłany na serwer?
Nie. Formatowanie to JavaScript działający w Twojej przeglądarce, więc dokument nie opuszcza urządzenia. Akurat tutaj ma to szczególne znaczenie: po formater sięga się zwykle z żywą odpowiedzią API, w której są prawdziwe dane.
Dlaczego narzędzie mówi, że mój JSON jest niepoprawny?
Zwykle z jednego z czterech powodów: przecinek po ostatnim elemencie, apostrofy zamiast cudzysłowów, klucz bez cudzysłowów albo komentarz. Wszystkie cztery są dozwolone w JavaScripcie i żaden w JSON-ie. Błąd podaje linię i kolumnę, w której parser się zatrzymał - a przy niezamkniętym nawiasie lub napisie jest to często poniżej miejsca, w którym naprawdę jest usterka.
Co daje sortowanie kluczy?
Porządkuje klucze każdego obiektu alfabetycznie, na każdym poziomie. Służy do porównywania: dwa dokumenty identyczne poza kolejnością kluczy wyglądają dla porównania tekstowego zupełnie inaczej, a posortowanie obu zostawia tylko prawdziwe różnice. Zmienia kolejność, nigdy dane.
Czy formatowanie zmienia moje dane?
Nie. Białe znaki między elementami nie mają w JSON-ie znaczenia, więc ich dodanie ani usunięcie nie może zmienić dokumentu. Wartości, typy i kolejność w tablicach zostają nietknięte, a liczby są zapisywane dokładnie tak, jak wyglądały, zamiast być przeformatowane.
Czy poradzi sobie z bardzo dużym plikiem?
Do momentu, w którym przeglądarka pomieści cały dokument w pamięci dwa razy - co w zupełności wystarcza do odpowiedzi API i plików konfiguracyjnych, z myślą o których to powstało. Eksport ważący setki megabajtów to zadanie dla parsera strumieniowego w rodzaju jq na własnym komputerze, a nie dla jakiejkolwiek strony WWW.