Formatowanie JSON: Minimalizacja i Upiększanie JSON Online Za Darmo
Darmowy formatowacz JSON do natychmiastowej minimalizacji i upiększania JSON. Kompresuj JSON, sprawdzaj składnię i wyświetlaj czytelnie z odpowiednim wcięciem. Szybkie, bezpieczne narzędzie działające w przeglądarce.
Formatowacz JSON
Dokumentacja
Formater JSON: minifikowanie i formatowanie JSON
Formater JSON to narzędzie, które przepisuje tekst JSON w innym układzie bez zmiany zawartych w nim danych. Ten formater JSON wykonuje dwie czynności: minifikuje JSON, usuwając zbędne białe znaki, oraz formatuje JSON, dodając wcięcia i podziały wierszy, aby tekst był czytelny.
Czym jest JSON?
JSON, skrót od JavaScript Object Notation, to format tekstowy służący do przechowywania i przesyłania danych. Serwery internetowe używają go do wysyłania informacji do aplikacji i przeglądarek. Programy wykorzystują go w plikach ustawień. Przechowuje dane jako obiekty zapisywane w nawiasach klamrowych {} oraz tablice zapisywane w nawiasach kwadratowych []. W obiekcie każdy element danych ma nazwę, nazywaną kluczem, i wartość. Wartością może być ciąg znaków, liczba, true, false, null albo inny obiekt lub tablica.
Mały obiekt JSON wygląda tak:
1{
2 "name": "John Doe",
3 "age": 30,
4 "isEmployee": true
5}
6Jak działa ten formater JSON
Niektóre narzędzia JSON odczytują tekst do własnej struktury danych języka programowania, a następnie zapisują tę strukturę ponownie jako tekst. Taka konwersja w obie strony może zmienić dane. Narzędzie może przekształcić bardzo duże liczby, pominąć liczby zbyt duże do przedstawienia oraz zmienić kolejność kluczy w obiekcie.
To narzędzie tego unika. Odczytuje dane znak po znaku i sprawdza, czy są zgodne ze składnią JSON. Podczas przepisywania wyniku kopiuje każdą liczbę i każdy ciąg znaków dokładnie w takiej postaci i kolejności, w jakiej zostały wpisane. Minimalizowanie ani upiększanie dokumentu nigdy nie zmienia liczby, klucza, kolejności kluczy ani zduplikowanego klucza.
Jeśli tekst nie jest prawidłowym JSON-em, narzędzie zatrzymuje się i wyświetla błąd, zamiast zgadywać, co miał na myśli autor.
Formatowanie odbywa się w przeglądarce. Narzędzie nie wysyła wklejonego tekstu na serwer. Dane wejściowe są dodawane do adresu internetowego strony jako parametr zapytania, dzięki czemu sformatowany dokument można udostępnić lub dodać do zakładek za pomocą linku.
Jak minimalizować JSON
- Wklej JSON w polu wejściowym.
- Kliknij „Minify”.
- Narzędzie usuwa spacje, tabulatory i podziały wierszy między tokenami, a następnie wyświetla wynik poniżej.
- Kliknij „Copy” nad wynikiem, aby go skopiować.
Przykład rozwiązany
Przed:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Po:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2Wzór minimalizacji JSON
Oszczędność miejsca po minimalizacji może być zapisana jako:
W powyższym przykładzie wersja sformatowana ma 98 bajtów, a wersja zminimalizowana 67 bajtów:
Dokładna oszczędność zależy od ilości białych znaków i wcięć w oryginalnym dokumencie. Dokument z głębokim zagnieżdżeniem i wcięciem o szerokości 4 spacji zmniejszy się bardziej niż dokument, który już był zwarty.
Jak upiększać JSON
- Wklej JSON w polu wejściowym. Może być już zminimalizowany lub nieuporządkowanie sformatowany.
- Kliknij „Beautify”.
- Narzędzie dodaje wcięcie o szerokości 2 spacji, jeden podział wiersza na każdy klucz lub element tablicy oraz spację po każdym dwukropku.
- Kliknij „Copy” nad wynikiem, aby go skopiować.
Przykład rozwiązany
Przed:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2Po:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Pusty obiekt lub tablica pozostaje w jednym wierszu, jako {} lub [], zamiast być rozdzielany na trzy wiersze.
Typowe błędy JSON wykrywane przez to narzędzie
JSON ma ścisłą składnię, bardziej rygorystyczną niż typowy język programowania. To narzędzie odrzuca tekst naruszający którąkolwiek z poniższych zasad i wyświetla komunikat „Invalid JSON” zamiast wyniku:
- Brak przecinka między dwiema wartościami.
- Końcowy przecinek po ostatnim elemencie obiektu lub tablicy (w JSON jest niedozwolony, w przeciwieństwie do JavaScriptu).
- Klucz, który nie został ujęty w podwójny cudzysłów.
- Pojedyncze cudzysłowy wokół ciągu znaków zamiast podwójnych.
- Niedopasowane lub brakujące nawiasy kwadratowe i klamrowe.
- Nieprawidłowa lub niepełna sekwencja ucieczki wewnątrz ciągu znaków, na przykład pojedynczy odwrotny ukośnik.
- Znak sterujący, taki jak rzeczywisty podział wiersza lub tabulator, wpisany wewnątrz ciągu znaków zamiast zapisania go jako
\nlub\t. - Liczba w postaci niedozwolonej w JSON, na przykład z początkowym zerem (
01), końcowym separatorem dziesiętnym (1.) lub początkowym znakiem plus (+1).
JSON nie ma także składni komentarzy. Tekst zaczynający się od // lub /* nie jest częścią składni JSON, dlatego wklejenie JSON-a zawierającego komentarze powoduje błąd „Invalid JSON”, a nie utworzenie JSON-a z cicho usuniętymi komentarzami. Aby sformatować taki plik, najpierw usuń komentarze.
Zastosowania formatera JSON
- Tworzenie stron internetowych: odczytywanie odpowiedzi API podczas debugowania oraz minimalizowanie plików konfiguracyjnych przed wdrożeniem.
- Tworzenie interfejsów API: sprawdzanie, czy treść żądania lub odpowiedzi jest poprawnym JSON-em.
- Analiza danych: przekształcanie zwartego eksportu JSON w czytelny układ do analizy.
- Pliki konfiguracyjne: upiększanie pliku konfiguracyjnego przed ręczną edycją, a następnie ponowne jego minimalizowanie.
Alternatywy
Edytory kodu, takie jak Visual Studio Code, mogą formatować pliki JSON bez opuszczania edytora. Narzędzia wiersza poleceń, takie jak jq, mogą formatować i filtrować JSON w ramach skryptu. Języki programowania również mają biblioteki JSON, na przykład moduł json w Pythonie lub wbudowany obiekt JSON w JavaScripcie; większość programów używa ich do analizowania JSON-a i przekształcania go we własne struktury danych. Internetowy formater, taki jak ten, jest przydatny, gdy potrzebne jest szybkie, jednorazowe sprawdzenie bez instalowania dodatkowego oprogramowania.
Historia JSON
Douglas Crockford określił JSON na początku lat 2000, opierając go na sposobie zapisu literałów obiektowych w JavaScripcie, ale projektując go tak, aby mógł być odczytywany i zapisywany przez dowolny język programowania. Format po raz pierwszy opisano publicznie około 2001, a następnie ustandaryzowano jako RFC 4627 w (11 800 cm) 2006, jako ECMA-404 w (1030 cm) 2013 oraz jako RFC 8259 w (21 000 cm) 2017. W miarę rozwoju interfejsów API w latach 2000 JSON zastąpił XML jako najczęściej używany format przesyłania danych między serwerami i przeglądarkami, głównie dlatego, że jest krótszy i bezpośrednio odwzorowuje struktury danych wbudowane już w JavaScript. Narzędzia do formatowania i walidacji pojawiły się wraz ze wzrostem rozmiarów i poziomu zagnieżdżenia dokumentów JSON.
Często zadawane pytania
Czy minimalizacja usuwa komentarze z JSON-a?
Nie. JSON nie ma składni komentarzy, a to narzędzie jej nie dodaje. Jeśli dane wejściowe zawierają komentarze w stylu // lub /*, narzędzie zgłasza błąd „Invalid JSON” zamiast je formatować. Przed wklejeniem tekstu usuń komentarze.
Czy formatowanie zmienia moje liczby lub kolejność kluczy? Nie. Narzędzie kopiuje każdą liczbę i każdy ciąg znaków dokładnie w takiej postaci, w jakiej zostały zapisane, oraz zachowuje pierwotną kolejność kluczy, w tym zduplikowanych kluczy, jeśli występują.
Jakie wcięcia stosuje formater? Dwie spacje na każdym poziomie zagnieżdżenia oraz spacja po każdym dwukropku.
Czy moje dane JSON są wysyłane na serwer?
Nie. Formatowanie odbywa się w przeglądarce. Wklejony tekst jest kopiowany do adresu URL strony jako parametr zapytania json, dzięki czemu stronę można udostępnić lub dodać do zakładek. Żadne dane nie są przesyłane.
Czy istnieje limit rozmiaru? Nie ma ustalonego limitu, ale cały dokument jest przechowywany w pamięci podczas analizowania, więc bardzo duży plik (wiele megabajtów) może działać wolno na starszym urządzeniu.
Czy nieprawidłowy JSON zostanie tylko częściowo naprawiony? Nie. Jeśli dane wejściowe w dowolnym miejscu naruszają składnię JSON, narzędzie wyświetla błąd zamiast zwracać częściowy lub zgadnięty wynik.
Piśmiennictwo
- "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
- Bray, T., red. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, grudzień 2017, https://www.rfc-editor.org/rfc/rfc8259.
- "ECMA-404: The JSON Data Interchange Syntax." Ecma International, https://www.ecma-international.org/publications-and-standards/standards/ecma-404/.
- "JSON." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON.