Rozwiązanie JSON
Wklej blok danych w formacie JSON – uproszczony, z uwzględnieniem specjalnych znaków lub bezpośrednio z linii logu – i uzyskaj jego wydruk z dowolną wielkością wycięcia. System sprawdza poprawność danych podczas analizy i pokazuje dokładny numer linii oraz kolumny dla każdego błędu. opcjonalnie można uporządkować klucze obiektów alfabetycznie, co znacznie ułatwia odczytywanie różnic między dwoma odpowiedziami API.
Jak formataować plik JSON
-
1
Wklej plik JSON
Niezależnie od tego, czy jest uproszczony, umieszczony w ciągu czy złożony w callback JSONP – parser wszystko wyeliminuje.
-
2
Wybierz punkt wyznaczenia
2 miejsca, 4 miejsca, klawisz tab lub wersja kompaktowa (jednolinijowa dla małych obciążzeń).
-
3
Przejść między typami sortowania
Ustaw klucze obiektów w porządku alfabetycznym, aby porównanie dwóch odpowiedzi było łatwiejsze.
-
4
Kopuj lub pobierz
Kopij do schowiska kliknięciem lub zapisz jako plik o nazwie `.json`.
Co realizuje formatyjnik
– Wejście uproszczone: tekst {"a":1,"b":[1,2,3]} jest poprawnie wycięty.
– JSON uwolniony w ciąguach tekstu: ciąg tekstowy w formacie JSON zawierający "{\"nested\":true}" może zostać rozpakowany i uporządkowany.
– ** callbacky JSONP**: Nazwa callback({...}) została uproszczona do {...}.
– „BOM“ oraz poprzednia przerwa – usuwane automatycznie.
– Komentarze: W trybie „lżejszym“ dopuszczane są wartości typu // i /* */ w formacie JSONC, jednak są usuwane z wyniku obliczeń (w strict JSON komentarze nie występują).
Dlaczego JSON w formacie Pretty-Print
- Diffing: dokument JSON jednoliniowy zawierający tysiące kluczy nie jest czytelny w formacie
git diff; przy użyciu formatu „pretty-print“ każdy klucz występuje jako osobna linia. - ** debugowanie**: układowe struktury są łatwiejsze do nawigacji wizualnie dzięki wstawianiu wycięć.
- Dokumentacja: Przykłady API powinny zawsze być poprawnie formatowane, uporządkowane i zachowywać spójność w kolejnych wydaniach.
- _configs: Pliki konfiguracji w formacie JSON powinny być wydrukowane w czytelny sposób w repo, aby ułatwiać ich odczytywanie; system podczas wykonywania może analizować oba formaty.
Zasady wypięcia
| Kontekst | Typowy wycięcie |
|---|---|
npm package.json |
2 przestrzenie |
| AWS CloudFormation | 2 miejsca |
| Legacy Java / .NET | 4 miejsca |
| Konfiguracje w VCS | 2 miejsca (najważniejsza jest spójność na poziomie całego projektu) |
Ustawienie kolejności kluczy jest kontrowersyjne: choć sprawia, że różnice są bardziej jasne, zmienia porządek plików konfiguracji na dysku. Wybierz jednolitą konwencję projektową i trzymaj się jej.
Błędy weryfikacji, które zobaczysz
| Błąd | Poprawić |
|---|---|
Unexpected token ' at position X |
Użyłeś pojedynczych nawiasów; zmienij na podwójne nawiasy |
Unexpected end of JSON input |
Brakuje zamykającego nawiasu lub parantezu |
Unexpected token , at position X |
Komórka na końcu; usunąć ją |
Unexpected token a at position X |
Klucz bez kwotacji lub literał NaN/undefined |
Duplicate key "foo" (tryb lenientny) |
Spezifikacja JSON dopuszcza tę opcję; większość parserów zachowuje ostatni znak |
Najczęstsze błędy
– Kopiowanie struktury JSON zawierającej elementy HTML. Dane " nie zostaną poprawnie rozanalizowane – należy najpierw je dekodować.
– Połączenie surowego i łagodnego podejścia: stosuj analizę łagodną wyłącznie w celach kontroli; nigdy nie zapisuj pliku JSON z ustawieniami łagodnymi do konfiguracji produkcyjnej.
– Udostępnienie nowego wyglądów pliku, który już został uporządkowany pod względem estetyki, w innym stylu. Program do formatowania to bez problemu wykona, jednak powstanie niezgodny wynik porównania („diff“).
Najczęściej zadawane pytania
Nie. Analiza i formatowanie są wykonywane w Twoim przeglądarce. Treść nigdy nie opuszcza kartki – co zapewnia bezpieczeństwo przy wklejaniu odpowiedzi API zawierających tokeny, ustawienia wewnętrzne lub dane testowe.
Formatator wygeneruje estetyczny wygląd ważnego pliku JSON. Walidator sprawdza, czy plik odpowiada schemacie JSON. Oba wykonują analizę struktury pliku, jednak walidacja to odrębny etap, który polega na pytaniu: „Czy plik odpowiada mojemu schemacie?“ zamiast jedynie „Czy jest to ważny plik JSON?“.
Tak. opcja „sort keys“ sortuje wszystkie klucze obiektów na każdym poziomie węzłów w sposób rekursywny. Tablice zachowują swoje pierwotne porządkowanie, ponieważ ich kolejność ma znaczenie semantyczne w JSON.
Ograniczone pamięcią przeglądarki. Na współczesnym sprzęcie działanie jest możliwe do maksymalnie około 50 MB. Przez ten limit warto rozważyć użycie komendy jq – ta umożliwia streamowanie dokumentu zamiast jego pełnego ładowania.
Powiązane narzędzia
Generator palet kolorów
Stwórz harmonijczną paletę kolorów składającą się z 4–8 barw na podstawie koloru bazowego, wykorzystując schematy komplementarnych, analogicznych, triadycznych oraz rozdzielonych komplementów.
Próbnik kolorów HEX
Wybierz dowolny kolor wizualnie i uzyskaj jego wartości HEX, RGB, HSL, HSV oraz CMYK, a także kontrast dostępności względem bieli i czerni.
Generator losowych wartości
Utwórz losowy kolor RGB, zobacz wartości heksadowe, HSL i RGB oraz skopiuj dowolny format jednym kliknięciem.
Generator losowej palety kolorów
Utwórz paletry z pięcioma kolorami oparte na losowym podstawowym odcieniu, zawierające ich komplementarne, analogiczne oraz triadyczne warianty.
Generator losowych liter
Generuj losowe litery z alfabetu angielskiego. Wybierz wielkość liter, dopuść powtórzenia lub losowania bez zwracania i ustaw ich liczbę.
Kalkulator wieku
Oblicz dokładny wiek w latach, miesiącach i dniach od daty urodzenia, wraz z łączną liczbą dni, godzin i odliczaniem do następnych urodzin.