JSON formatter (nazywany też JSON beautifierem lub pretty-printerem) zamienia zwarty lub nieuporządkowany JSON w czytelne dane z wcięciami. To jedno z najczęściej używanych narzędzi programistycznych: przydaje się przy sprawdzaniu odpowiedzi API, czytaniu plików konfiguracyjnych, debugowaniu logów, porównywaniu danych testowych i przenoszeniu danych między kodem frontendu i backendu.
JSON to ścisły format: klucze muszą być w podwójnych cudzysłowach, ciągi znaków też, przecinki muszą stać we właściwych miejscach, a każdy otwierający { lub [ musi zostać zamknięty. Formatter pokazuje tę strukturę, a wbudowany walidator mówi dokładnie, gdzie składnia się psuje, jeśli do tego dojdzie.
JSON to skrót od JavaScript Object Notation. Choć wyrósł z JavaScriptu, niemal każdy język programowania ma wbudowaną obsługę odczytu i zapisu JSON, dlatego stał się domyślnym sposobem wymiany ustrukturyzowanych danych w sieci.
Czego nauczysz się, korzystając z niego
Obiekty używają {} dla nazwanych pól, tablice używają [] dla uporządkowanych list, a jedne i drugie można zagnieżdżać w sobie na dowolną głębokość.
Sformatowany i zminifikowany JSON to *te same dane*: białe znaki zmieniają czytelność, a nie znaczenie. Serwery zwykle zwracają zminifikowany JSON, aby oszczędzić bajty.
Wartości JSON mogą mieć tylko sześć typów: string, number, boolean, null, object i array. Nie ma undefined, funkcji ani komentarzy.
Błędy walidacji zwykle wskazują miejsce w pobliżu problemu, ale prawdziwa pomyłka (niezamknięty nawias, brakujący cudzysłów) może być kilka znaków wcześniej.
Jak sformatować JSON krok po kroku
1
Wklej JSON do pola wejściowego
Skopiuj JSON z odpowiedzi API, pliku logów lub konfiguracji i wklej go po lewej stronie. Formatter przyjmuje zarówno zminifikowane, jak i częściowo sformatowane dane.
2
Wybierz szerokość wcięcia
Dwie spacje to najpopularniejszy styl; cztery spacje też są często używane. Wybierz to, co pasuje do stylu twojego projektu.
3
Sprawdź wynik walidacji
Jeśli JSON jest poprawny, sformatowany wynik pojawi się po prawej stronie. Jeśli nie, komunikat błędu wskaże wiersz i znak, na którym parsowanie się nie powiodło.
4
Przeglądaj widok drzewa
Użyj zwijanego drzewa, aby złożyć głęboko zagnieżdżone obiekty i tablice. To najszybszy sposób, by zrozumieć strukturę nieznanej odpowiedzi API.
5
Skopiuj lub zminifikuj wynik
Skopiuj sformatowaną wersję do kodu lub dokumentacji albo zminifikuj ją z powrotem do jednego wiersza, aby ją przechowywać lub przesyłać przez sieć.
Składnia JSON w pigułce
Pełny zestaw elementów, z których składa się JSON. Wszystko spoza tej listy nie jest poprawnym JSON. Specyfikacja: RFC 8259 i ECMA-404.
Token
Znaczenie
Przykład
{ }
Obiekt: zbiór par klucz/wartość
{"name": "Maya"}
[ ]
Tablica: uporządkowana lista wartości
[1, 2, 3]
"..."
Ciąg znaków: zawsze w podwójnych cudzysłowach
"hello"
Liczba
Całkowita lub zmiennoprzecinkowa, bez cudzysłowów, bez wiodącego +
Po sformatowaniu zagnieżdżony obiekt user i tablicę skills przegląda się dużo łatwiej. Dane są identyczne, zmieniają się tylko białe znaki.
Wyłap przecinek na końcu
Niepoprawny
{"name":"Coddy","active":true,}
JSON nie pozwala na przecinek po ostatniej właściwości. Walidator oznaczy zamykający }. To jeden z najczęstszych błędów przy kopiowaniu składni obiektu JavaScript do JSON.
Porównaj typy wartości
Wejście
{"count":3,"countText":"3","enabled":true}
3 to liczba, "3" to ciąg znaków, a true to wartość logiczna: trzy różne typy JSON. API często zawodzą, gdy struktura jest prawidłowa, ale typ wartości jest zły.
Użyj widoku drzewa, aby zwinąć data.orders i odsłaniać strukturę poziom po poziomie. Zagnieżdżone tablice obiektów to najczęstszy wzorzec w odpowiedziach REST.
Częste błędy w JSON
Używanie pojedynczych cudzysłowów zamiast podwójnych wokół kluczy lub ciągów znaków: JSON pozwala tylko na podwójne.
Traktowanie JSON jak obiektu JavaScript: komentarze, funkcje i undefined nie są poprawne w JSON, a przecinki na końcu powodują błąd parsowania.
Zapominanie, że liczby w JSON nie mogą mieć wiodącego +, zer wiodących (poza samym 0) ani być w cudzysłowach, jeśli naprawdę chcesz typu liczbowego.
Wklejanie tokenów, danych klientów lub sekretów produkcyjnych do narzędzi, które wysyłają dane na serwer. Formatter Coddy działa lokalnie, więc to bezpieczne, ale zawsze sprawdzaj, zanim użyjesz zewnętrznej strony.
JSON Formatter: najczęstsze pytania
Czym jest JSON?
JSON (JavaScript Object Notation) to lekki tekstowy format danych strukturalnych. Używa par klucz-wartość i tablic, a obsługuje go praktycznie każdy język programowania, dlatego jest domyślnym wyborem dla API w sieci, plików konfiguracyjnych i treści wiadomości.
Jak sformatować JSON?
Wklej JSON do JSON formattera, wybierz szerokość wcięcia (zwykle 2 spacje), a narzędzie wygeneruje te same dane z podziałami wierszy i wcięciami. Większość formatterów w tym samym kroku sprawdza też składnię.
Czym różni się JSON formatter od walidatora JSON?
Formatter zamienia poprawny JSON w bardziej czytelny układ. Walidator sprawdza, czy składnia JSON jest w ogóle poprawna. Dobre narzędzie do JSON robi jedno i drugie.
Czy formatowanie JSON zmienia dane?
Nie. Formatowanie dodaje wcięcia i podziały wierszy, ale klucze, tablice, ciągi znaków, liczby, wartości logiczne i null pozostają dokładnie takie same. Ponowna minifikacja odtworzy pierwotną, oszczędną dla sieci postać.
Dlaczego mój JSON nie działa, skoro wygląda jak obiekt JavaScript?
JSON jest bardziej rygorystyczny niż składnia obiektów JavaScript. Klucze i ciągi znaków muszą używać podwójnych cudzysłowów, JSON nie może zawierać komentarzy, a przecinki na końcu, pojedyncze cudzysłowy i undefined są niedozwolone.
Gdzie programiści używają JSON na co dzień?
JSON jest wszędzie: w odpowiedziach REST i GraphQL, treściach żądań, plikach konfiguracyjnych (package.json, tsconfig.json), metadanych pakietów, wierszach logów, local storage przeglądarki i danych testowych.