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 recznie. Kazdy prawidlowy dokument JSON jest rowniez prawidlowym JSON5, ale JSON5 dodaje komentarze, koncowe przecinki, klucze bez cudzyslowow i inne udogodnienia.
Specyfikacja JSON5 zostala sfinalizowana w 2018 roku i jest szeroko przyjeta w narzediach JavaScript. Narzedzia budowania, takie jak Babel, Next.js i Webpack, akceptuja pliki konfiguracyjne JSON5. Konwersja JSON5 do standardowego JSON jest konieczna przy wspolpracy z systemami, ktore rozumieja tylko scisly JSON, takimi jak API, bazy danych i wiekszosc jezykow programowania.
Funkcje JSON5 wyjasnienie
JSON5 dodaje kilka rozszerzen skladniowych, ktore ulatwiaja pisanie i utrzymywanie plikow konfiguracyjnych.
- Komentarze — dozwolone sa komentarze jednowierszowe (//) i wielowierszowe (/* */), czyniace pliki konfiguracyjne samodokumentujacymi
- Koncowe przecinki — tablice i obiekty moga miec przecinek po ostatnim elemencie, zmniejszajac szum w diffach
- Klucze bez cudzyslowow — klucze obiektow bedace prawidlowymi identyfikatorami ECMAScript nie potrzebuja cudzyslowow
- Liczby szesnastkowe — wartosci liczbowe mozna zapisywac jako 0xFF, przydatne dla kodow kolorow w konfiguracji
- Ciagi wielowierszowe — wartosci ciagow moga obejmowac wiele wierszy z uzyciem kontynuacji odwrotnym ukosnikiem
- Specjalne wartosci liczbowe — Infinity, -Infinity i NaN sa prawidlowymi literalami liczbowymi w JSON5
Wypróbuj za darmo — bez rejestracji
Konwertuj JSON5 na JSON →Gdzie JSON5 jest uzywany
JSON5 jest uzywany glownie w narzediach ekosystemu JavaScript, gdzie pliki konfiguracyjne sa pisane i utrzymywane przez programistow.
- Babel — pliki .babelrc i babel.config.json5 obsluguja skladnie JSON5 dla konfiguracji budowania z komentarzami
- TypeScript — tsconfig.json obsluguje funkcje JSON5, takie jak komentarze i koncowe przecinki (technicznie JSONC)
- Chrome DevTools — profile ograniczania sieci i inne ustawienia uzywaja formatu JSON5
- Next.js — pliki konfiguracyjne akceptuja JSON5 dla przyjaznej konfiguracji z dokumentacja w linii
Czesto zadawane pytania
Czy przegladarki moga parsowac JSON5 natywnie?
Nie. Przegladarki obsluguja tylko standardowy JSON przez JSON.parse(). Aby parsowac JSON5 w przegladarce lub aplikacji Node.js, potrzebujesz pakietu npm json5. Narzedzia budowania obslugujace JSON5 wykonuja parsowanie wewnetrznie podczas etapu budowania.
Jaka jest roznica miedzy JSON5 a JSONC?
JSONC (JSON z komentarzami) dodaje tylko obsluge komentarzy do JSON. JSON5 to szerszy nadzbior, ktory dodaje komentarze, koncowe przecinki, klucze bez cudzyslowow, liczby szesnastkowe, ciagi wielowierszowe i specjalne wartosci liczbowe. tsconfig.json TypeScript i settings.json VS Code uzywaja JSONC, podczas gdy Babel i inne narzedzia uzywaja pelnego JSON5.
Czy JSON5 to to samo co YAML?
Nie. JSON5 pozostaje blisko skladni JSON z niewielkimi ergonomicznymi dodatkami. YAML to zupelnie inny format ze struktura oparta na bialych znakach, kotwicami i wieloma innymi funkcjami. JSON5 jest latwiejszy do konwersji na JSON, poniewaz jest scislym nadzbiorem. Konwersja YAML do JSON moze byc stratna, poniewaz YAML obsluguje typy danych, ktorych JSON nie ma.