Przejdź do treści

Formatowanie i walidacja JSON — JSON5 na JSON online — Numio

Pretty drukuje JSON z wcięciem 2-spacji i zgłasza błędy składniowe w wierszach i kolumnach. Dane wejściowe są analizowane jako JSON5, więc akceptowane są komentarze, pojedyncze cudzysłowy, klucze bez cudzysłowów i końcowe przecinki; wynik jest zawsze ścisły JSON.

Odczyt zminimalizowanej odpowiedzi API, która pojawia się w postaci pojedynczej linii.

Akceptuje JSON i JSON5, w tym komentarze, pojedyncze cudzysłowy i końcowe przecinki. Funkcje i wyrażenia JavaScript nie są wykonywane.

Wejście JSON/JSON5

Sformatowany JSON

Kiedy go używać

  • Odczyt zminimalizowanej odpowiedzi API, która pojawia się w postaci pojedynczej linii.
  • Przekształcanie skomentowanego pliku w stylu JSON5 lub tsconfig w ścisły JSON dla narzędzia, które odrzuca komentarze.

Jak używać

  1. Wklej JSON lub JSON5 do edytora wejściowego lub zaimportuj plik .json.
  2. Jeśli pojawi się błąd, przejdź do zgłaszanej linii i kolumny i sprawdź cudzysłowy, nawiasy i przecinki.
  3. Skopiuj ścisły kod JSON z wcięciem z edytora wyjściowego.

Wejście JSON lub JSON5

// service config
{
  name: 'billing-api',
  port: 8080,
  retries: [1, 2, 4,],
  debug: false,
}

Sformatowany JSON

{
  "name": "billing-api",
  "port": 8080,
  "retries": [
    1,
    2,
    4
  ],
  "debug": false
}

Szczegóły i ograniczenia

Formatowanie odbywa się w przeglądarce; nic nie jest wysyłane na serwer.

Komentarze i oryginalny styl cytowania są usuwane. Wcięcie jest ustawione na 2 spacje; na tej stronie nie ma opcji minimalizacji ani sortowania kluczy.

Wartości są analizowane tylko jako dane, nigdy nie są wykonywane. NaN i Infinity są odrzucane, ponieważ JSON nie może ich reprezentować.

Zduplikowane klucze nie powodują błędu: wygrywa ostatnia wartość, więc {"a":1,"a":2} staje się {"a": 2}.

FAQ

Czy można sformatować JSON zawierający komentarze?

Tak. // i /* */ komentarze są akceptowane, ponieważ dane wejściowe są odczytywane jako JSON5, ale są usuwane z danych wyjściowych, co jest ściśle zgodne z JSON.

Dlaczego moja duża liczba całkowita uległa zmianie?

Liczby stają się podwójne JavaScript, więc liczby całkowite powyżej 2^53 tracą precyzję: 12345678901234567890 jest drukowane jako 12345678901234567000. Długie identyfikatory cytuj jako ciągi znaków.

Czy sprawdza to w odniesieniu do schematu JSON?

Nie. Sprawdza tylko składnię. Wymagane pola, typy i zakresy wartości zdefiniowane przez schemat nie są sprawdzane.

Specyfikacje i referencje