ByteCompress

Walidator JSON

Sprawdź, czy Twój JSON jest składniowo poprawny zgodnie z RFC 8259. Uzyskaj dokładne komunikaty o błędach z numerami linii i kolumn, aby szybko naprawić problemy.

0 chars
FreeClient-sideNo signup

Przecinek na końcu po ostatnim elemencie w tablicy to najczęstszy błąd JSON - i jest niewidoczny dla oka w zminimalizowanym wyjściu. Błędy parsowania JSON stanowią około 15% czasu debugowania API, według analizy badania programistów StackOverflow z 2023 roku. Ten walidator wychwytuje to i każdy inny naruszenie RFC 8259 bezpośrednio w Twojej przeglądarce. Wklej swój JSON, aby uzyskać natychmiastowy werdykt: poprawny lub niepoprawny, z dokładną linią i kolumną każdego problemu. Nic nie jest przesyłane. Nie jest wymagana rejestracja.

Jak walidować JSON

  1. Wklej lub wpisz swój JSON w polu wejściowym.
  2. Walidator sprawdza składnię w czasie rzeczywistym lub kliknij Waliduj, aby uzyskać pełny raport.
  3. Jeśli jest poprawny, zielony wskaźnik potwierdza strukturę z podsumowaniem typu najwyższego poziomu.
  4. Jeśli jest niepoprawny, panel błędów pokazuje dokładną linię, kolumnę i opis problemu w prostym języku.
  5. Napraw wskazany problem i ponownie waliduj, aż otrzymasz czysty wynik.

Co jest sprawdzane

Reguły strukturalne

JSON musi zaczynać się od obiektu ({}) lub tablicy ([]) na najwyższym poziomie, chociaż RFC 8259 zezwala również na prymitywy (ciągi, liczby, wartości logiczne, null) jako wartości najwyższego poziomu. Nawiasy klamrowe i kwadratowe muszą być zrównoważone i odpowiednio zagnieżdżone. Przecinki muszą oddzielać elementy, ale nie mogą występować po ostatnim elemencie - przecinki na końcu to najczęstszy błąd JSON. Każdy klucz obiektu musi być ciągiem w podwójnych cudzysłowach.

Typy wartości

JSON definiuje sześć typów wartości: ciągi (w podwójnych cudzysłowach, z określonymi sekwencjami ucieczki), liczby (całkowite i dziesiętne, bez zer wiodących), wartości logiczne (true i false, tylko małe litery), null (małe litery), obiekty i tablice. Wartości specyficzne dla JavaScript, takie jak undefined, NaN, Infinity i wyrażenia funkcyjne, nie są poprawnym JSON i spowodują błąd walidacji.

Zgodność z RFC 8259

RFC 8259 (opublikowane w grudniu 2017 roku, zastępujące RFC 4627 i RFC 7159) jest aktualnym standardem IETF dla JSON. Określa kodowanie UTF-8, zabrania duplikacji kluczy obiektów i definiuje dokładne sekwencje ucieczki dla wartości ciągów. Ten walidator egzekwuje rygorystyczne zasady RFC 8259 dla maksymalnej zgodności we wszystkich parserach i językach.

Przykład

Niepoprawne dane wejściowe (przecinek na końcu)

{
  "name": "Alice",
  "roles": ["admin", "editor",]
}

Błąd walidatora

Błąd w linii 3, kolumna 33: Nieoczekiwany token ']'
Przecinki na końcu nie są dozwolone w tablicach JSON (RFC 8259 §5).

Typowe błędy składniowe

  • Przecinek na końcu - {"a": 1,} - usuń ostatni przecinek przed zamykającym nawiasem klamrowym lub kwadratowym
  • Ciągi w pojedynczych cudzysłowach - {'key': 'value'} - zmień na podwójne cudzysłowy
  • Niecytowane klucze - {key: "value"} - owiń klucz w podwójne cudzysłowy
  • Komentarze JavaScript - // komentarz lub /* komentarz */ - JSON nie ma składni komentarzy; usuń je
  • Niepoprawna wielkość liter wartości logicznych/null - True, False, NULL są niepoprawne; użyj true, false, null

Różnica między walidacją a formatowaniem

Walidacja sprawdza, czy JSON jest składniowo poprawny - przechodzi lub nie przechodzi z konkretnymi szczegółami błędów. Formatowanie dodaje tylko białe znaki dla czytelności i nie weryfikuje poprawności. Próba sformatowania niepoprawnego JSON również kończy się niepowodzeniem, ponieważ formatter musi najpierw sparsować JSON. Waliduj najpierw, a potem formatuj.

Gdy JSON przejdzie walidację, Formatter JSON wcięty go dla czytelności, a Minifier JSON kompresuje go do użytku produkcyjnego. Dla JSON osadzonego w URL, dekoduj za pomocą URL Decoder przed walidacją.

Najczęściej Zadawane Pytania

Jaka jest różnica między walidacją JSON a formatowaniem?

Walidacja sprawdza, czy Twój JSON jest poprawny składniowo zgodnie z RFC 8259. Formatowanie dodaje tylko białe znaki dla czytelności i nie weryfikuje poprawności. Możesz spróbować sformatować niepoprawny JSON, ale formatter również nie zadziała, ponieważ musi najpierw sparsować JSON. Waliduj przed formatowaniem.

Dlaczego JavaScript akceptuje mój JSON, a walidator go odrzuca?

Niektóre środowiska JavaScript akceptują luźne nadzbiory JSON, takie jak JSON5 lub HJSON, które pozwalają na komentarze, ciągi w pojedynczych cudzysłowach i przecinki na końcu. Ten walidator testuje zgodność z rygorystycznym RFC 8259, aby zapewnić, że JSON działa we wszystkich językach i środowiskach. Jeśli Twój przypadek użycia dotyczy tylko JavaScript, rozważ JSON5.parse() z biblioteką json5.

Czy mogę walidować dokumenty schematu JSON za pomocą tego narzędzia?

To narzędzie waliduje tylko składnię JSON, a nie semantykę schematu JSON. Dokument schematu JSON jest sam w sobie poprawnym JSON, więc walidacja składni działa. Aby sprawdzić, czy obiekt danych odpowiada definicji schematu JSON, potrzebujesz dedykowanego walidatora schematu JSON, takiego jak ajv.

Czy moje dane są prywatne, gdy waliduję je tutaj?

Całkowicie. Walidacja odbywa się po stronie klienta w Twojej przeglądarce przy użyciu natywnej funkcji JSON.parse. Żadne dane nie są wysyłane na serwer, rejestrowane ani przechowywane. Możesz bezpiecznie walidować ładunki zawierające dane uwierzytelniające API, informacje osobiste lub dane wewnętrzne firmy.

Jakie są najczęstsze błędy walidacji JSON?

W kolejności częstotliwości: (1) przecinki na końcu po ostatnim elemencie - [1, 2, 3,]; (2) ciągi w pojedynczych cudzysłowach zamiast podwójnych; (3) nieucieczone znaki powrotu lub znaki kontrolne wewnątrz ciągów; (4) komentarze JavaScript; (5) wielkie True/False/Null zamiast true/false/null.