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ć
- Wklej JSON lub JSON5 do edytora wejściowego lub zaimportuj plik .json.
- Jeśli pojawi się błąd, przejdź do zgłaszanej linii i kolumny i sprawdź cudzysłowy, nawiasy i przecinki.
- 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.