Jeśli ten sam klucz pojawi się w obiekcie dwa razy, JSON.parse po cichu zachowa ostatnią wartość, a formatowanie usunie pierwszą na stałe. Tak działa to narzędzie do formatowania JSON: najpierw czyta tekst jako wartości JavaScriptu, potem zapisuje je od nowa. Przy okazji mówi, czy tekst w ogóle jest poprawny. To samo sprawdzenie robi Twoja przeglądarka, więc co przejdzie tutaj, przejdzie też w JavaScripcie.
Co parser odrzuca
Akceptowany jest tylko ścisły JSON. Błędem są, nawet jeśli JavaScript albo JSON5 na to pozwalają:
- komentarze
- przecinek po ostatnim elemencie (najczęstsza przyczyna czerwonego pola)
- apostrofy w miejsce
"oraz klucze bez cudzysłowów
Liczby, które zmieniają wygląd
1.0 wraca jako 1. Liczba całkowita 12345678901234567890 wraca jako 12345678901234567000, bo liczby w JavaScripcie to double i powyżej 9007199254740991 tracą cyfry. Bardzo długie identyfikatory trzymaj jako stringi.
Formatowanie JSON: przyciski w kolejności użycia
- Na starcie edytor zawiera krótki przykład, już z wcięciami. Wyczyść opróżnia pole, Wczytaj przykład przywraca go. Zastąp go własnym tekstem.
- Pasek stanu pod edytorem zmienia się w trakcie pisania między "Poprawny JSON" a "Niepoprawny JSON" i pokazuje rozmiar. Przy błędzie czerwone pole nad edytorem cytuje komunikat parsera.
- Formatuj (2 spacje) i Formatuj (4 spacje) zastępują tekst wersją z wcięciami. Gdy tekst jest niepoprawny, zostaje bez zmian, a pole z błędem nadal widać.
- Minifikuj zapisuje jedną linię bez spacji, co przydaje się przed wklejeniem danych do polecenia
curl. Sortuj klucze (A-Z) porządkuje klucze każdego obiektu i wcina 2 spacjami. - Kopiuj kopiuje tekst z edytora, Pobierz .json zapisuje go jako
data.json.
Sortowanie według kodu znaku, nie słownika
Dwie wersje pliku z tłumaczeniami wyglądają różnie, ale podejrzewasz, że zmieniła się tylko kolejność. Posortuj obie, porównaj w narzędziu diff i zostaną prawdziwe zmiany. Sortowanie działa na każdym poziomie, a tablice zachowują kolejność. Ponieważ liczy się kod znaku, "Zebra" stoi przed "apple". Klucze w rodzaju "10" JavaScript zawsze sam stawia na początku.
Gdzie trafia wklejony tekst
Parsowanie i formatowanie działają jako JavaScript na stronie, a kliknięcie nie wysyła żądania, co sprawdzisz w zakładce Sieć. Tekst nie trafia do pamięci przeglądarki. Kopiowanie używa schowka, pobieranie tworzy plik na Twoim urządzeniu. Nie ma wcięcia tabulatorami ani cofania, więc skopiuj oryginał wcześniej. Limitu rozmiaru nie ma, ale tekst jest przetwarzany w głównym wątku i plik rzędu kilkudziesięciu megabajtów może zawiesić kartę. Komunikaty błędów różnią się między Chrome, Firefoksem i Safari.