Skip to main content
CheckTown
Konwertery

Konwerter JSON5 na JSON: porządkowanie plikow konfiguracyjnych

Opublikowano 5 min czytania
W tym artykule

Czym jest JSON5?

JSON5 to nadzbior JSON, ktory dodaje funkcje inspirowane skladnia ECMAScript 5.1. Zostal stworzony, aby uczynic JSON bardziej przyjaznym dla plikow konfiguracyjnych i innych przypadkow, w ktorych ludzie pisza i czytaja JSON ręcznie. Każdy prawidłowy dokument JSON jest również prawidłowym JSON5, ale JSON5 dodaje komentarze, końcowe przecinki, klucze bez cudzysłowów i inne udogodnienia.

Specyfikacja JSON5 została sfinalizowana w 2018 roku i jest szeroko przyjęta w narzediach JavaScript. Narzędzia budowania, takie jak Babel, Next.js i Webpack, akceptuja pliki konfiguracyjne JSON5. Konwersja JSON5 do standardowego JSON jest konieczna przy współpracy z systemami, ktore rozumieja tylko ścisły JSON, takimi jak API, bazy danych i większość języków programowania.

Funkcje JSON5 wyjaśnienie

JSON5 dodaje kilka rozszerzen skladniowych, ktore ułatwiają pisanie i utrzymywanie plikow konfiguracyjnych.

  • Komentarze — dozwolone sa komentarze jednowierszowe (//) i wielowierszowe (/* */), czyniace pliki konfiguracyjne samodokumentujacymi
  • Końcowe przecinki — tablice i obiekty moga miec przecinek po ostatnim elemencie, zmniejszając szum w diffach
  • Klucze bez cudzysłowów — klucze obiektow bedace prawidłowymi identyfikatorami ECMAScript nie potrzebuja cudzysłowów
  • Liczby szesnastkowe — wartości liczbowe można zapisywac jako 0xFF, przydatne dla kodow kolorow w konfiguracji
  • Ciągi wielowierszowe — wartości ciągów moga obejmowac wiele wierszy z użyciem kontynuacji odwrotnym ukośnikiem
  • Specjalne wartości liczbowe — Infinity, -Infinity i NaN sa prawidłowymi literalami liczbowymi w JSON5

Wypróbuj za darmo — bez rejestracji

Konwertuj JSON5 na JSON →

Gdzie JSON5 jest używany

JSON5 jest używany głównie w narzediach ekosystemu JavaScript, gdzie pliki konfiguracyjne sa pisane i utrzymywane przez programistow.

  • Babel — pliki .babelrc i babel.config.json5 obsługują składnię JSON5 dla konfiguracji budowania z komentarzami
  • TypeScript — tsconfig.json obsługuje funkcje JSON5, takie jak komentarze i końcowe przecinki (technicznie JSONC)
  • Chrome DevTools — profile ograniczania sieci i inne ustawienia używają formatu JSON5
  • Next.js — pliki konfiguracyjne akceptuja JSON5 dla przyjaznej konfiguracji z dokumentacja w linii

Często zadawane pytania

Czy przeglądarki moga parsowac JSON5 natywnie?

Nie. Przeglądarki obsługują tylko standardowy JSON przez JSON.parse(). Aby parsowac JSON5 w przeglądarce lub aplikacji Node.js, potrzebujesz pakietu npm json5. Narzędzia budowania obslugujace JSON5 wykonuja parsowanie wewnętrznie podczas etapu budowania.

Jaka jest różnica między JSON5 a JSONC?

JSONC (JSON z komentarzami) dodaje tylko obsługę komentarzy do JSON. JSON5 to szerszy nadzbior, ktory dodaje komentarze, końcowe przecinki, klucze bez cudzysłowów, liczby szesnastkowe, ciągi wielowierszowe i specjalne wartości liczbowe. tsconfig.json TypeScript i settings.json VS Code używają JSONC, podczas gdy Babel i inne narzędzia używają pełnego JSON5.

Czy JSON5 to to samo co YAML?

Nie. JSON5 pozostaje blisko składni JSON z niewielkimi ergonomicznymi dodatkami. YAML to zupełnie inny format ze struktura oparta na białych znakach, kotwicami i wieloma innymi funkcjami. JSON5 jest łatwiejszy do konwersji na JSON, poniewaz jest ścisłym nadzbiorem. Konwersja YAML do JSON moze byc stratna, poniewaz YAML obsługuje typy danych, ktorych JSON nie ma.

Powiązane narzędzia