formatuj | waliduj | minifikuj

> formatuj | waliduj | minifikuj <

// Formatuj, waliduj i minifikuj dane JSON natychmiast

[FORMAT]

Ładne Formatowanie

Upiększ JSON z konfigurowalnym wcięciem. Wybierz 2 spacje, 4 spacje lub tabulatory.

[MINIFY]

Kompaktowe Wyjście

Minifikuj JSON usuwając wszystkie białe znaki. Zmniejsz rozmiar pliku dla produkcji i API.

[VALIDATE]

Sprawdzanie Składni

Waliduj składnię JSON natychmiast. Otrzymuj szczegółowe komunikaty o błędach.

// O FORMATOWANIU JSON

Czym jest JSON:

JSON (JavaScript Object Notation) to lekki format wymiany danych zdefiniowany przez RFC 8259. Jest łatwy do odczytania i zapisu przez ludzi oraz łatwy do parsowania i generowania przez maszyny.

Przykład:

{"name":"John","age":30} → {\n "name": "John",\n "age": 30\n}

Typowe zastosowania:

  • >Debugowanie i inspekcja odpowiedzi API
  • >Formatowanie plików konfiguracyjnych
  • >Walidacja danych przed przetworzeniem
  • >Zmniejszanie rozmiaru przez minifikację
  • >Sortowanie kluczy dla spójnego wyjścia

>> często zadawane pytania

P: Czym jest formater JSON?

O: Formater JSON pobiera surowe lub zminifikowane dane JSON i przeformatowuje je z odpowiednimi wcięciami i łamaniami linii.

P: Jaka jest różnica między upiększaniem a minifikacją?

O: Upiększanie dodaje wcięcia i łamania linii. Minifikacja usuwa wszystkie niepotrzebne białe znaki, aby zmniejszyć rozmiar pliku.

P: Jak działa walidacja JSON?

O: Walidacja JSON sprawdza, czy dane wejściowe są zgodne ze specyfikacją JSON (RFC 8259), w tym nawiasy, cudzysłowy i typy danych.

P: Do czego służy sortowanie kluczy?

O: Sortowanie alfabetyczne porządkuje wszystkie klucze obiektów w strukturze JSON dla łatwego porównania i spójności.

P: Jak JSON wypada w porównaniu z YAML?

O: JSON używa nawiasów klamrowych ze ścisłą składnią, podczas gdy YAML używa wcięć. JSON jest szerzej wspierany w API. YAML jest bardziej czytelny, ale trudniejszy do parsowania.

// Typowe błędy w JSON

Te zapisy działają w JavaScripcie, ale są nieprawidłowe w ścisłym JSON-ie.

NieprawidłowePrawidłowe
{'a': 1}{"a": 1}
{"a": 1,}{"a": 1}
{a: 1}{"a": 1}
{"a": undefined}{"a": null}
{"a": 01}{"a": 1}

// Formatowanie JSON w kodzie

JavaScript  JSON.stringify(obj, null, 2)
Python      json.dumps(obj, indent=2, ensure_ascii=False)
PHP         json_encode($obj, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)
Go          json.MarshalIndent(v, "", "  ")
Java        new ObjectMapper().writerWithDefaultPrettyPrinter()
CLI         jq . file.json
CLI         python3 -m json.tool file.json

>> Więcej pytań

P: Jakiego wcięcia użyć: 2 spacje, 4 spacje czy tabulatory?

O: To kwestia umowy w zespole; najważniejsza jest spójność. 2 spacje są popularne w webie i oszczędzają szerokość przy głębokim zagnieżdżeniu, 4 spacje są częste w Pythonie, a tabulatory pozwalają każdemu ustawić własną szerokość. Do przesyłania najmniejszy jest zminifikowany JSON bez wcięć.

P: Dlaczego mój JSON jest nieprawidłowy?

O: Najczęstsze przyczyny to apostrofy zamiast cudzysłowów, klucze bez cudzysłowów, przecinek po ostatnim elemencie, komentarze, undefined, NaN lub zera wiodące w liczbach. Komunikat błędu zwykle wskazuje wiersz i kolumnę pierwszego problemu.

P: Czym są JSON5 i JSONC i jak mają się do JSON?

O: JSON5 i JSONC to rozszerzenia dopuszczające komentarze, końcowe przecinki i inne zapisy (np. w tsconfig.json lub ustawieniach VS Code). To nie jest poprawny JSON: formatter oczekuje ścisłego JSON-a, więc najpierw usuń komentarze i końcowe przecinki.

// INNE JĘZYKI