O tym narzędziu
Formatowanie JSON (często nazywane ładnym drukowaniem lub upiększaniem) wykorzystuje kompaktowy JSON i dodaje białe znaki — podziały wierszy, wcięcia, spójne odstępy — aby struktura była widoczna dla ludzkich czytelników. Kompaktowy JSON to właściwy format transmisji: minimalizuje liczbę bajtów w sieci i pamięci. Sformatowany JSON to właściwy format do inspekcji: hierarchia z wcięciami pozwala na pierwszy rzut oka ujawnić zagnieżdżoną strukturę, nadać różnicom sens i pozwala programistom zlokalizować określone pola bez mentalnego analizowania dokumentu.
Ten program formatujący analizuje dane wejściowe w formacie JSON, aby potwierdzić, że są prawidłowe, a następnie emituje je ponownie ze spójnym wcięciem. Nieprawidłowe dane wejściowe powodują błąd wskazujący na problem ze składnią. Prawidłowe dane wejściowe są ponownie formatowane niezależnie od tego, jak zwarte i niechlujne było źródło. Wcięcie domyślnie wynosi dwie spacje, zgodnie z najczęstszą konwencją JavaScript.
Program formatujący oferuje również minifikację (operacja odwrotna), która usuwa wszystkie niepotrzebne białe znaki w celu uzyskania najmniejszego prawidłowego formatu JSON. Zminimalizowane wyjście jest przydatne do transmisji produkcyjnej; sformatowane dane wyjściowe są przydatne do programowania i debugowania.
Po co formatować JSON
Odczyt głęboko zagnieżdżonego JSON bez wcięć jest w zasadzie niemożliwy — struktura jest technicznie obecna, ale niewidoczna. Nawet średnio złożony JSON czerpie ogromne korzyści z formatowania. Recenzenci kodu, debugery API i wszyscy, którzy próbują zrozumieć ładunek danych, potrzebują sformatowanego formatu JSON, aby zobaczyć, co faktycznie tam jest.
Formatowanie również wychwytuje błędy. Jeśli podczas formatowania nie uda się przeanalizować kodu JSON, komunikat o błędzie będzie dokładnie określał położenie problemu ze składnią — często brakujący przecinek, klucz bez cudzysłowu lub zabłąkany przecinek końcowy, którego system produkcyjny nie oznaczył. Formater to najprostszy dostępny walidator JSON.
Jak używać
Wklej JSON, kliknij format.
- Wklej swój JSON: Wklej surowy lub kompaktowy JSON do obszaru wejściowego. Działa również metoda przeciągania i upuszczania plików .json.
- Wybierz wcięcie: Wartość domyślna to 2 spacje. Użyj 4 spacji dla projektów zgodnych z tą konwencją lub zakładek, jeśli wymagają tego Twoje dalsze narzędzia.
- Sformatuj: Dane wejściowe są analizowane za pomocą pliku JSON.parse w celu potwierdzenia ważności, a następnie serializowane za pomocą pliku JSON.stringify i wybranego wcięcia. Błędy we danych wejściowych powodują wyświetlenie komunikatu o błędzie analizy identyfikującego lokalizację problemu.
- Skopiuj lub pobierz: Skopiuj sformatowany JSON do schowka lub zapisz jako .json. Dane wyjściowe są strukturalnie identyczne z danymi wejściowymi, ale zawierają spójne białe znaki.
Szczegóły techniczne
Formater używa JSON.parse i JSON.stringify, tej samej pary, która jest dostarczana w każdym środowisku wykonawczym JavaScript. Analizowanie odbywa się zgodnie z RFC 8259 (bieżąca specyfikacja JSON), akceptując ścisły JSON, ale odrzucając literały obiektów JavaScript, komentarze, końcowe przecinki i inne rozszerzenia JSON5.
JSON.stringify akceptuje argument wcięcia: liczbę (spacje) lub ciąg (niestandardowy znak wcięcia, taki jak tabulator). Program formatujący udostępnia obie opcje. Dane wyjściowe są sortowane według kolejności źródłowej obiektów (ponieważ w wersji ES2015 zachowano kolejność wstawiania właściwości we wszystkich głównych silnikach).
Przypadki Edge: duże liczby przekraczające Number. MAX_SAFE_INTEGER tracą precyzję podczas analizowania (znane ograniczenie JSON; używaj wartości łańcuchowych dla identyfikatorów przekraczających 2^53). Ucieczki Unicode w ciągach znaków są zachowywane dosłownie. Końcowe białe znaki są usuwane z każdej linii.
Często zadawane pytania
- Jakie typy błędów JSON wykrywa to narzędzie?
- Narzędzie wykrywa brakujące przecinki, niedopasowane nawiasy/nawiasy klamrowe, zmianę znaczenia nieprawidłowego ciągu, przecinki końcowe, ciągi znaków w pojedynczych cudzysłowach i inne naruszenia składni zgodnie ze specyfikacją JSON RFC 8259.
- Czy może obsłużyć bardzo duże pliki JSON?
- Tak. Formater przetwarza JSON w Twojej przeglądarce przy użyciu natywnej analizy JavaScript, dzięki czemu sprawnie obsługuje pliki o wielkości do kilku megabajtów. W przypadku bardzo dużych plików (50 MB i więcej) czas przetwarzania zależy od urządzenia.
- Czy obsługuje JSON z komentarzami (JSONC)?
- Standardowy JSON nie pozwala na komentarze. Jeśli Twoje dane wejściowe zawierają komentarze, walidator oznaczy je jako błędy. Aby uzyskać obsługę JSONC, usuń komentarze przed formatowaniem.
- Czy formatowanie zmieni wartości moich danych?
- Nie. Formatowanie dostosowuje tylko białe znaki i wcięcia — typy danych, wartości i struktura pozostają dokładnie takie same.
- Czy obsługiwane są funkcje JSON5 (komentarze, przecinki końcowe)?
- Nie. Formatyzator ściśle przestrzega normy RFC 8259. Funkcje JSON5 powodują błędy analizy. Aby pracować z JSON5, najpierw przekonwertuj go na standardowy JSON za pomocą parsera JSON5.
- Czy mój plik JSON został przesłany na serwer?
- Nie. Analizowanie i formatowanie odbywa się całkowicie w przeglądarce przy użyciu wbudowanych funkcji JSON.
- Czy duże liczby stracą precyzję?
- JavaScript reprezentuje liczby jako 64-bitowe liczby zmiennoprzecinkowe, więc liczby całkowite powyżej 2^53 (około 9 biliardów) tracą precyzję. W przypadku identyfikatorów lub innych dużych wartości całkowitych przechowuj je jako ciągi w formacie JSON.
- Czy mogę posortować klucze alfabetycznie?
- JSON.stringify nie sortuje kluczy. Użyj osobnego etapu sortowania (lub programu formatującego z obsługą sortowania), aby ułożyć klucze alfabetycznie przed utworzeniem ciągu znaków.
Related Articles
DeveloperEssential Developer Tools: JSON, Base64, RegEx, and More
A comprehensive overview of the developer utilities every programmer should know, from data format converters to encoding tools.
9 min readDeveloper & SecurityHashing, Encryption, and Encoding Explained: A Developer's Security Guide
Understand the differences between hashing, encryption, and encoding. Learn when to use MD5, SHA-256, Base64, AES, and other cryptographic tools in your applications.
10 min readData & ProductivitySpreadsheet & Data Conversion Guide: Excel, CSV, JSON, and More
Learn how to convert between spreadsheet and data formats like Excel, CSV, JSON, and XML. Practical tips for handling data migration, cleaning, and transformation.
10 min readPrivacy & TechnologyWhy Browser-Based Tools Are the Future: No Installs, No Uploads, No Risk
Discover why browser-based tools are replacing desktop software and cloud uploads. Learn how client-side processing keeps your files private while delivering powerful functionality.
7 min read