Input

Output

Czym jest Formater JSON?

JSON (JavaScript Object Notation) to najpowszechniej używany format wymiany danych w sieci. API go zwraca, pliki konfiguracyjne go używają, bazy danych go przechowują — a kiedy coś się psuje lub wygląda podejrzanie, musisz to po prostu przeczytać. Specyfikacja JSON jest celowo minimalistyczna, co jest świetne dla maszyn, ale naprawdę uciążliwe podczas debugowania głęboko zagnieżdżonej odpowiedzi API. Formater JSON rozwiązuje ten problem: dodaje wcięcia i podziały wierszy do surowego lub zminifikowanego JSON, dzięki czemu struktura staje się natychmiast czytelna.

To narzędzie działa całkowicie w Twojej przeglądarce. Twój JSON przechodzi przez JSON.stringify() z wcięciem 2 spacji, a wynik pojawia się w panelu wyjściowym. Nic nie jest wysyłane na serwer, więc jest bezpiecznie używać z danymi produkcyjnymi, tokenami lub czymkolwiek innym, czego nie chcesz, aby opuściło Twoje urządzenie.

Przykłady formatowania JSON

Oto kilka przykładów tego, co robi formater. Zminifikowany lub kompaktowy JSON jest trudny do odczytania; formatowanie go ujawnia strukturę na pierwszy rzut oka.

Przykład 1: Rekord abonenta

Zminifikowane wejście (pojedyncza linia):

Input

Sformatowane wyjście:

Output

Przykład 2: Rekordy połączeń

Zminifikowane wejście:

Input

Sformatowane wyjście:

Output

Kliknij przycisk Przykład powyżej, aby załadować gotowy przykład (dane planu mobilnego) do edytora i zobaczyć formater w akcji.

Jak używać tego narzędzia

1

Wklej lub wczytaj

Skopiuj swój JSON i wklej go do lewego edytora. Możesz też kliknąć Wczytaj, aby załadować plik .json lub .txt z komputera. Przycisk Przykład ładuje przykładowe dane, jeśli chcesz przetestować.

2

Sprawdź wynik

Prawy panel aktualizuje się automatycznie podczas pisania. Prawidłowy JSON jest formatowany z odpowiednim wcięciem zgodnie z RFC 8259. Jeśli wystąpi błąd składni (brakujący nawias, końcowy przecinek, klucz bez cudzysłowów), zamiast tego zobaczysz komunikat o błędzie.

3

Kopiuj, pobierz lub minifikuj

Użyj Kopiuj, aby umieścić wynik w schowku, Pobierz, aby zapisać go jako plik, lub Minifikuj, aby usunąć wszystkie białe znaki i uzyskać kompaktową jednolinijkową wersję.

Jak działa formater

Oba edytory używają wbudowanego edytora kodu, który zapewnia podświetlanie składni, numery wierszy i znaczniki błędów specyficzne dla JSON. Gdy wklejasz lub wpisujesz JSON w panelu wejściowym, narzędzie czeka 300 ms (aby uniknąć parsowania w trakcie wpisywania), a następnie uruchamia JSON.parse() na Twoim wejściu. Jeśli parsowanie się powiedzie, wywołuje JSON.stringify(data, null, 2) i wyświetla wynik. Jeśli parsowanie nie powiedzie się, wynik pokazuje błąd.

Warto zaznaczyć: JSON nie obsługuje komentarzy. Jest to zdefiniowane w samej specyfikacji, nie jest to ograniczenie tego narzędzia. Pliki takie jak settings.json VS Code używają JSONC (JSON z komentarzami), który jest innym formatem. Jeśli Twój plik zawiera komentarze, musisz je usunąć przed formatowaniem.

Gdzie formatowanie JSON pomaga

Większość programistów potrzebuje formatera podczas odczytywania odpowiedzi API. Wysyłasz żądanie przez Postman lub curl, a odpowiedź wraca jako pojedyncza skompresowana linia. Wklejenie jej tutaj sprawia, że zagnieżdżone obiekty i tablice stają się natychmiast widoczne. Do wyciągania konkretnych wartości z dużych odpowiedzi, jq sprawdza się dobrze z wiersza poleceń.

Pliki konfiguracyjne to kolejny powszechny przypadek. package.json lub tsconfig.json z niespójnym wcięciem jest trudny do przejrzenia w pull request. Formatowanie go tutaj daje spójną wersję, którą możesz wkleić z powrotem. Jeśli potrzebujesz połączyć dwa pliki konfiguracyjne, jest osobne narzędzie Scalanie JSON do tego.

Eksporty baz danych z MongoDB, Firestore lub CouchDB to zazwyczaj duże bloby JSON bez formatowania. Uruchomienie ich tutaj pomaga zrozumieć strukturę dokumentu przed pisaniem skryptów importu lub zapytań. Jeśli potrzebujesz danych w arkuszu kalkulacyjnym, możesz użyć JSON do CSV, aby je przekonwertować.

Przydatne jest również przed udostępnieniem JSON współpracownikom. Sformatowany JSON w wiadomości Slack lub bilecie Jira jest znacznie łatwiejszy do odczytania niż surowy zminifikowany ciąg. Uruchomienie go najpierw przez Walidator JSON może wykryć problemy, zanim ktokolwiek inny je zobaczy.

Często zadawane pytania

Czy bezpiecznie jest tu wklejać prawdziwe klucze API lub wrażliwe dane?

Całkowicie bezpiecznie. Całe formatowanie odbywa się w przeglądarce za pomocą JavaScript — nic nie jest wysyłane na żaden serwer. Możesz to sprawdzić samodzielnie, otwierając kartę Sieć w przeglądarce podczas korzystania z narzędzia. Żadnego konta, żadnych logów.

Jaki jest limit rozmiaru?

Nie ma twardego limitu ze strony narzędzia. Zależy od dostępnej pamięci przeglądarki. Pliki JSON do 10–15 MB generalnie działają bez problemów w Chrome i Firefox. Dla bardzo dużych plików (setki MB) narzędzie wiersza poleceń, takie jak jq, jest bardziej praktyczne.

Po co minifikować JSON?

Zminifikowany JSON ma usunięte wszystkie białe znaki — żadnych nowych linii, żadnych spacji, tylko surowe dane. Dzięki temu jest mniejszy do przesyłania przez sieć, tańszy do przechowywania w polu bazy danych i bezpieczny do osadzania w adresie URL. Przycisk Minifikuj robi to natychmiast na bieżącym wyjściu. Jest też dedykowana strona Minifikatora JSON, jeśli to jest Twoje główne zastosowanie.

Dlaczego wynik pokazuje „Nieprawidłowy JSON"?

Dane wejściowe zawierają błąd składni. Częste przyczyny to końcowe przecinki po ostatnim elemencie, pojedyncze cudzysłowy zamiast podwójnych, nazwy właściwości bez cudzysłowów lub niezgodne nawiasy. Specyfikacja JSON jest rygorystyczna we wszystkich tych kwestiach.

Czy można walidować JSON względem schematu?

To narzędzie waliduje składnię (czy JSON jest dobrze uformowany), nie strukturę. Do walidacji schematu użyj Generatora schematu JSON, aby wygenerować schemat z przykładowych danych, lub Walidatora JSON do bardziej szczegółowych sprawdzeń.

Powiązane narzędzia

Aby dowiedzieć się więcej o JSON, przewodnik JSON MDN omawia parsowanie i stringify. Formalny standard to RFC 8259. Zobacz też json.org i jq.