DevToolPal
PL

Konwerter JSON5 na JSON

Zamienia JSON5 lub JSONC (komentarze, końcowe przecinki, klucze bez cudzysłowów, apostrofy) na ścisły, standardowy JSON.

Działa lokalnie, nic nie jest wysyłane

Opcje

Wcięcie

Wejście

0 znaków · 0 B

Wynik

0 znaków · 0 B

Do czego służy

JSON5 to rozszerzenie JSON-a przeznaczone dla plików pisanych ręcznie. Pozwala na komentarze, końcowe przecinki, klucze obiektów bez cudzysłowów, ciągi w apostrofach i kilka wygodniejszych zapisów liczb. Narzędzia takie jak Babel, niektóre bundlery i wiele aplikacji przyjmuje JSON5 lub JSONC (JSON z komentarzami, używany przez tsconfig.json i ustawienia VS Code) jako format konfiguracji.

Wiele parserów, API i języków programowania akceptuje jednak wyłącznie ścisły JSON. Ten konwerter czyta JSON5 lub JSONC i zwraca standardowy JSON, który przyjmie każdy parser: wszystkie klucze w podwójnych cudzysłowach, bez komentarzy, bez końcowych przecinków i z liczbami w zapisie dziesiętnym.

Jak używać

  1. Wklej JSON5 lub JSONC, wgraj plik .json5, .jsonc lub .json albo kliknij Przykład.
  2. Wybierz Wcięcie: 2 lub 4 spacje albo Zwarty, aby uzyskać jeden wiersz.
  3. Wybierz, co zrobić z Infinity i NaN: zamienić na null, zamienić na tekst lub pokazać błąd.
  4. Skopiuj lub pobierz JSON.

Jeśli dane wejściowe zawierają błąd składni, komunikat podaje wiersz i kolumnę, więc możesz od razu do niego przejść. Zwykły JSON jest też poprawnym JSON5, dlatego narzędzie przyda się również do sprawdzenia, czy plik się parsuje, i do ponownego sformatowania wcięć.

Przykład

Taka konfiguracja w JSON5:

// Server settings
{
  host: 'localhost',
  port: 0x1F90,      // 8080
  ratio: .5,
  tags: ['api', 'v2',],
}

zamienia się w taki ścisły JSON:

{
  "host": "localhost",
  "port": 8080,
  "ratio": 0.5,
  "tags": [
    "api",
    "v2"
  ]
}

Komentarze zostają usunięte, klucze i ciągi dostają podwójne cudzysłowy, liczba szesnastkowa i ułamek bez części całkowitej są zapisane dziesiętnie, a końcowe przecinki znikają.

Co jest zamieniane

  • Usuwane są komentarze wierszowe // i blokowe /* */.
  • Klucze bez cudzysłowów, takie jak port, i ciągi w apostrofach, takie jak 'localhost', dostają podwójne cudzysłowy.
  • Ciągi kontynuowane ukośnikiem wstecznym na końcu wiersza są łączone w jeden.
  • Liczby szesnastkowe (0xFF), kropka dziesiętna na początku lub końcu (.5, 5.) i jawne znaki plus (+3) stają się zwykłymi liczbami dziesiętnymi.
  • Końcowe przecinki w obiektach i tablicach są pomijane.
  • Jeśli klucz występuje dwa razy, obowiązuje ostatnia wartość, tak jak w JavaScripcie.

FAQ

› Czym różni się JSON5 od JSONC?

JSONC to JSON z komentarzami (a w VS Code także z końcowymi przecinkami). JSON5 idzie dalej: klucze bez cudzysłowów, ciągi w apostrofach, ciągi wielowierszowe, liczby szesnastkowe, kropka dziesiętna na początku lub końcu liczby, Infinity i NaN. JSON5 jest nadzbiorem JSONC, więc to narzędzie czyta oba formaty.

› Czy komentarze zostaną zachowane?

Nie. Standardowy JSON nie ma składni komentarzy, więc są usuwane. Jeśli ich potrzebujesz, trzymaj plik JSON5 jako źródło i generuj z niego JSON.

› Co dzieje się z Infinity i NaN?

Ścisły JSON nie potrafi ich zapisać. Domyślnie zamieniają się w null, tak jak w JSON.stringify w JavaScripcie. Możesz też zamienić je na tekst albo wyświetlić błąd ze wskazaniem dokładnej ścieżki.

› Czy moje dane są gdzieś wysyłane?

Nie. Parsowanie i konwersja odbywają się w całości w przeglądarce, więc pliki konfiguracyjne z sekretami nigdy nie opuszczają Twojego urządzenia.