Formatowanie JSON online
Wklej odpowiedź API, plik konfiguracyjny lub wpis z dziennika i przeczytaj go wygodnie. Obiekty i tablice otrzymują wcięcia według zagnieżdżenia, klucze osobne wiersze, a wynik podświetlenie składni.
Dlaczego JSON ma zwartą postać?
JSON jest podstawowym językiem interfejsów API, a te optymalizuje się pod kątem liczby bajtów, nie wygody czytania. Odpowiedź z punktu końcowego REST lub serwera GraphQL jest serializowana bez choćby jednej spacji, co dobrze służy transmisji, lecz źle człowiekowi. To samo dotyczy plików konfiguracyjnych zapisywanych przez narzędzia, ustrukturyzowanych wpisów dzienników, bloków JSON-LD osadzonych na stronie i danych kopiowanych z panelu sieciowego narzędzi deweloperskich.
Formatowanie uwidacznia strukturę
JSON z wcięciami od razu odpowiada na pytania o strukturę. Jak głęboko sięga obiekt? Czy pole jest tablicą obiektów, czy obiektem tablic? Który klucz ma null zamiast oczekiwanej wartości? Gdzie kończy się jeden rekord, a zaczyna następny? Znalezienie brakującego klucza lub literówki w sformatowanych danych zajmuje sekundy, podczas gdy szukanie tego samego w jednym wierszu zwykle kończy się napisaniem skryptu. Praktyczny przegląd warto zacząć od znanego identyfikatora rekordu. Znajdź tę wartość, przeanalizuj zawierający ją obiekt i porównaj odpowiednie klucze z kontraktem oczekiwanym przez aplikację. Odróżniaj brak klucza od jawnej wartości null lub pustej tablicy, ponieważ aplikacje często traktują je inaczej. Formatowanie ułatwia dostrzeżenie tych różnic, ale nie sprawdza reguł biznesowych, nie wykrywa wszystkich problemów z powtarzającymi się kluczami ani nie weryfikuje kontraktu API. Po znalezieniu podejrzanej części danych wykonaj te kontrole za pomocą testów aplikacji i walidacji schematu.
Niepoprawny JSON jest wychwytywany natychmiast
Ponieważ dane wejściowe muszą zostać przeanalizowane, zanim zostaną wyświetlone, formatowanie jest też najszybszą dostępną kontrolą poprawności. Końcowy przecinek, ciąg znaków w pojedynczych cudzysłowach, cudzysłów bez znaku ucieczki wewnątrz wartości lub ucięta odpowiedź zatrzymają analizę i pokażą błąd zamiast wyniku. Bardzo często właśnie tak okazuje się, że debugowana odpowiedź API była ucięta albo że plik konfiguracyjny ma o jeden przecinek za dużo.
JSON, JSON Lines i JSONP
Ta strona formatuje pojedynczy dokument JSON. Jeśli Twoje dane wejściowe to plik dziennika z jednym obiektem JSON w każdym wierszu, sformatuj poszczególne wiersze, które Cię interesują, a nie cały plik, ponieważ plik jako całość nie jest jednym poprawnym dokumentem. A jeśli odpowiedź zaczyna się od nazwy funkcji opakowującej dane, jest to JSONP, a nie JSON, i właśnie dlatego narzędzie czasem wykrywa takie dane jako JavaScript. W takim przypadku wykrycie jest trafne, a sformatowanie ich jako JavaScript i tak daje doskonale czytelny wynik.
Najczęściej zadawane pytania
Czy narzędzie sprawdza poprawność JSON?
W praktyce tak. Dokument musi dać się przeanalizować, zanim zostanie sformatowany, więc każdy błąd składni przerywa przetwarzanie i jest zgłaszany zamiast wyniku. To najszybszy sposób, aby sprawdzić, czy dane są poprawnie sformowane.
Czy kolejność kluczy zostaje zachowana?
Formatter nie sortuje celowo kluczy obiektów; jego zadaniem jest ułatwienie odczytania dostarczonej struktury. Gdy znaczenie ma dokładny tekst, zachowaj oryginał, ponieważ formatowanie może zmienić układ i zapis. Sama kolejność kluczy również nie dowodzi, że dane są zgodne ze schematem oczekiwanym przez aplikację.
Czy mogę formatować bardzo duże odpowiedzi API?
Praktyczne możliwości zależą od pamięci i mocy obliczeniowej dostępnej przeglądarce. Duże odpowiedzi mogą spowolnić lub zawiesić kartę podczas formatowania i podświetlania składni; nie ma gwarantowanego obsługiwanego rozmiaru. Gdy analizujesz pojedynczy rekord z dużej odpowiedzi, zacznij od mniejszego, kompletnego obiektu lub tablicy.
