Formatowanie JSON

Dodaj wcięcia i upiększ dokument JSON dwiema lub czterema spacjami albo tabulatorami, opcjonalnie z posortowanymi kluczami, w przeglądarce.

Działa w całości w twojej przeglądarce. Nic nie jest wysyłane, logowane ani przechowywane.

Wklej zminifikowany albo źle wcięty dokument JSON i przeczytaj go tak, jak należy. Formatowanie odbywa się w przeglądarce, więc payload pełen tokenów i danych klientów nigdy nie opuszcza twojego komputera.

Jak to działa

Dokument jest parsowany przez wbudowany parser JSON przeglądarki, a następnie zapisywany ponownie z wybranym wcięciem. Ponieważ to prawdziwe parsowanie, a nie przekształcenie tekstu, wszystko, co wychodzi, jest na pewno poprawnym JSON-em, a wszystko, co poprawne nie jest, zostaje zgłoszone z pozycją, na której parser się poddał.

Klucze obiektów zachowują pierwotną kolejność, chyba że zażądasz sortowania. Kolejność elementów tablic nigdy nie jest zmieniana, bo w tablicy JSON kolejność ma znaczenie.

Przykłady

Przypadek Dane wejściowe Wynik
Zminifikowany obiekt {"id":7,"tags":["a","b"],"ok":true} { "id": 7, "tags": [ "a", "b" ], "ok": true }

Najczęściej zadawane pytania

Czy mój JSON jest wysyłany na serwer?

Nie. Strona ładuje mały skrypt, który parsuje i formatuje dokument lokalnie. Po załadowaniu strony możesz odłączyć się od sieci, a narzędzie nadal będzie działać.

Dlaczego mój dokument nie przechodzi przez przecinek na końcu?

Końcowe przecinki są dozwolone w JavaScripcie, ale nie w JSON-ie. To samo dotyczy komentarzy, ciągów w pojedynczych cudzysłowach i kluczy bez cudzysłowów: należą do literałów obiektów JavaScriptu, a nie do specyfikacji JSON.

Czy moje wartości liczbowe zostaną zmienione?

Liczby są zapisywane ponownie na podstawie sparsowanej wartości, więc zapis może się zmienić, choć wartość pozostaje ta sama: 1e2 wraca jako 100. Jedynym realnym ograniczeniem są liczby całkowite powyżej 2^53, bo nie da się ich dokładnie przedstawić.

Warto wiedzieć

  • Wszystko dzieje się w przeglądarce. Dokument nie jest wysyłany, rejestrowany ani przechowywany.
  • Liczby całkowite większe niż 2^53 tracą precyzję, bo JavaScript, który wykonuje tu pracę, odczytuje każdą liczbę JSON jako zmiennoprzecinkową podwójnej precyzji. Bardzo duże identyfikatory lepiej przesyłać jako ciągi znaków.

Źródła

Wszystkie narzędzia z kategorii Kod