Formatter JSON
Formatuj, minifikuj i sprawdzaj JSON od razu.
Działa w przeglądarce. Nic, co wpiszesz, nie jest nigdzie wysyłane.
- Dokładna lokalizacja błędu
- Zwijalny widok drzewa
- Nic nie jest wysyłane
Jak sformatować JSON
- Wklej albo wczytaj swój JSON.
- Wybierz czytelny zapis albo minifikację, i rozmiar wcięcia.
- Skopiuj albo pobierz wynik.
Czytelny zapis a minifikacja
| Czytelny zapis | Minifikacja | |
|---|---|---|
| Białe znaki | Dodaje wcięcia i podziały wiersza | Usuwa je wszystkie |
| Rozmiar pliku | Większy, łatwiejszy do czytania | Najmniejszy możliwy, te same dane |
| Najlepsze do | Edycji i debugowania | API produkcyjnych i przechowywania danych |
Najczęstsze błędy JSON i jak je naprawić
| Błąd | Naprawa |
|---|---|
| Przecinek na końcu przed } albo ] | Usuń ostatni przecinek na liście |
| Pojedynczy cudzysłów wokół ciągu znaków | Zmień na wyłącznie podwójny cudzysłów |
| Nazwa właściwości bez cudzysłowu | Otocz każdy klucz podwójnym cudzysłowem |
| Komentarz // albo /* | Usuń go; JSON nie ma składni komentarzy |
| Brakujący nawias albo klamra zamykająca | Policz pasujące pary { } i [ ] |
| Liczba taka jak 1. albo .5 | Zapisz 1.0 albo 0.5; JSON wymaga cyfr po obu stronach kropki dziesiętnej |
| Dosłowny podział wiersza wewnątrz ciągu znaków | Zapisz go jako \n, bo dosłowny nowy wiersz wewnątrz cudzysłowu jest niedozwolony |
Zasady składni JSON według RFC 8259
- Liczba nie może mieć wiodącego zera (01 jest niepoprawne) ani samej kropki dziesiętnej na końcu (1. jest niepoprawne).
- Każdy klucz musi być ciągiem znaków w podwójnym cudzysłowie. Klucze bez cudzysłowu i skrócone właściwości z JavaScript nie są poprawnym JSON.
- Jedynymi literałami dozwolonymi poza cudzysłowem są true, false i null, zawsze małymi literami.
- Ciąg znaków może używać wyłącznie podwójnego cudzysłowu; pojedynczy cudzysłów i apostrofy wsteczne to funkcje JavaScript, których JSON nie obejmuje.
- Zduplikowane klucze w jednym obiekcie są technicznie dopuszczone przez gramatykę, ale większość parserów, łącznie z tym, zachowuje tylko ostatnią wartość, więc nie licz na to, że obie zostaną odczytane.
Formatter JSON: najczęstsze pytania
Dlaczego mój JSON pokazuje błąd w linii, która wygląda dobrze?
Parser zgłasza miejsce, w którym się poddał, co często wypada jeden znak za prawdziwym błędem, na przykład brakującym przecinkiem w linii powyżej. Sprawdź też linię tuż przed tą wskazaną.
Co robi sortowanie kluczy?
Porządkuje klucze każdego obiektu alfabetycznie przed wypisaniem, co ułatwia porównanie dwóch plików JSON albo znalezienie konkretnego pola.
Czy mogę sformatować bardzo duże pliki JSON?
Tak, ale zwijalny widok drzewa buduje się tylko dla danych poniżej 300 KB. Większe pliki nadal się formatują i minifikują, tylko bez drzewa.
Jaka jest różnica między minifikacją a czytelnym zapisem?
Czytelny zapis dodaje podziały wiersza i wcięcia ułatwiające czytanie. Minifikacja usuwa to wszystko, żeby plik był jak najmniejszy na produkcji.
Co dokładnie wymaga standard JSON, czyli RFC 8259?
Definiuje dokładną gramatykę JSON: obiekty i tablice, ciągi znaków w cudzysłowie podwójnym, liczby bez wiodących zer oraz literały true, false i null. Wszystko poza tą gramatyką, na przykład komentarz albo przecinek na końcu, to niepoprawny JSON, nawet jeśli niektóre parsery po cichu to akceptują.
Czy mogę sformatować pliki JSON5 albo JSONC, które dopuszczają komentarze?
Nie. Komentarze i przecinki na końcu, częste w plikach konfiguracyjnych JSONC używanych przez niektóre edytory, nie są poprawnym JSON i tutaj zgłaszane są jako błędy. Usuń je najpierw, jeśli pracujesz z jednym z tych mniej rygorystycznych formatów.
Czy mogę rozwinąć każdy węzeł w widoku drzewa naraz?
Tak, kliknij Rozwiń wszystko. Duże dokumenty na start mają otwarty tylko pierwszy poziom albo dwa, żeby działać szybko; Rozwiń wszystko otwiera na żądanie każdy pozostały węzeł.
Czy mogę pobrać sformatowany wynik jako plik?
Tak. Przycisk Pobierz zapisuje bieżące wyjście, w czytelnym zapisie albo zminifikowane, jako plik .json, nazwany tak jak wczytany plik, albo "formatted.json", jeśli tekst został wklejony bezpośrednio.