- Strona główna
- Narzędzia
- Walidator JSONL
Walidator JSONL
Waliduj pliki JSONL (JSON Lines) natychmiast. Sprawdź każdą linię pod kątem poprawnej składni JSON. 100% po stronie klienta, Twoje dane nigdy nie opuszczają przeglądarki.
Wejście JSONL
Upuść plik .jsonl tutaj lub kliknij, aby przeglądać
Obsługuje .jsonl, .ndjson, .json, .txt
Wejście JSONL
Upuść plik .jsonl tutaj lub kliknij, aby przeglądać
Obsługuje .jsonl, .ndjson, .json, .txt
Wynik walidacji
Wklej lub upuść zawartość JSONL, aby zwalidować
Katalog błędów: co się zepsuło i jak to naprawić
Niemal każdy nieprawidłowy plik JSONL zawodzi z jednego z sześciu powodów. Ta tabela przyporządkowuje widoczny błąd do rzeczywistej przyczyny na poziomie bajtów i najszybszej poprawki. Zgodnie z RFC 8259 JSON jest rygorystyczny we wszystkich tych kwestiach, a JSONL dodaje jeszcze regułę jednego rekordu na linię:
| Przykład uszkodzonej linii | Co jest nie tak | Rozwiązanie |
|---|---|---|
| {"a": 1,} | Końcowy przecinek — dozwolony w JavaScript, niedozwolony w JSON | Usuń przecinek przed } lub ] |
| {'a': 1} | Pojedyncze cudzysłowy — ciągi JSON wymagają podwójnych cudzysłowów | Zastąp ' znakiem " w kluczach i wartościach tekstowych |
| {"note": "line one | Niepoprzedzony znakiem ucieczki znak nowej linii wewnątrz ciągu dzieli rekord na kilka linii | Zapisz go jako \n, aby rekord pozostał w jednej linii |
| {"a": 1} | Znacznik BOM UTF-8 dołączony do pierwszego rekordu | Zapisz plik bez BOM albo usuń pierwsze trzy bajty |
| {"a": 1} {"b": 2} | Dwa rekordy w jednej linii — parser widzi zbędne dane na końcu | Umieść każdy rekord w osobnej linii |
| (pusta linia) | Ściśle rzecz biorąc, nie jest to rekord; część parserów zgłasza błąd, a część ją pomija | Usuń puste linie lub skonfiguruj odbiorców tak, aby je pomijali |
Jak walidować pliki JSONL
Walidacja JSONL sprawdza każdą linię pliku, aby upewnić się, że zawiera prawidłowy JSON. Każda linia musi być kompletną, parsowalną wartością JSON — zazwyczaj obiektem JSON.
Nasz walidator odczytuje plik JSONL w całości w przeglądarce. Żadne dane nie są przesyłane na żaden serwer. Wystarczy wkleić tekst JSONL lub przeciągnąć i upuścić plik, a wyniki walidacji pojawią się natychmiast.
Linie z błędami są podświetlane z numerem linii i konkretnym komunikatem o błędzie. Możesz skopiować raport walidacji, aby udostępnić go zespołowi lub użyć go do naprawienia problemów.
Częste błędy i rozwiązania
Końcowe przecinki w obiektach JSON
Końcowy przecinek po ostatniej parze klucz-wartość w obiekcie JSON (np. {"name":"Alice",}) nie jest prawidłowym JSON. Usuń przecinek po ostatniej właściwości w każdej linii, aby naprawić ten częsty błąd składni.
Niecytowane klucze właściwości
JSON wymaga, aby wszystkie klucze właściwości były ujęte w podwójne cudzysłowy. Klucze takie jak {name:"Alice"} nie przejdą walidacji. Upewnij się, że wszystkie klucze używają podwójnych cudzysłowów: {"name":"Alice"}.
Nieprawidłowe sekwencje ucieczki w ciągach znaków
JSON obsługuje tylko określone sekwencje ucieczki (\n, \t, \", \\, itp.). Nieprawidłowe sekwencje, takie jak \x lub \', spowodują błędy parsowania. Używaj poprawnych sekwencji ucieczki JSON lub koduj znaki specjalne jako Unicode (\uXXXX).
Walidacja w CI i wierszu poleceń
Walidator w przeglądarce jest przeznaczony dla ludzi; w potokach tę samą kontrolę można wykonać jednym poleceniem. Oba polecenia działają strumieniowo, więc obsługują pliki znacznie większe niż dostępna pamięć:
# jq: kod wyjścia 0 tylko wtedy, gdy każda linia daje się sparsować (działa strumieniowo, niczego nie wypisuje)jq -e 'empty' data.jsonl && echo OK# Python: zgłoś pierwszą uszkodzoną linię i jej numerpython3 - <<'PY'import json, sysfor i, line in enumerate(open('data.jsonl'), 1):if not line.strip():continuetry:json.loads(line)except json.JSONDecodeError as e:sys.exit(f'line {i}: {e}')print('OK')PY
Zwróć uwagę na zakres tej kontroli: polecenia sprawdzają składnię JSON osobno w każdej linii. Walidacja struktury pól — wymaganych kluczy, typów i zakresów wartości — to walidacja względem schematu, czyli osobna warstwa opisana w naszym przewodniku po JSON Schema.
Czym jest walidacja JSONL?
Walidacja JSONL to proces sprawdzania, czy każda linia w pliku JSONL zawiera składniowo poprawny JSON. Jest to kluczowe przed użyciem plików JSONL do trenowania modeli uczenia maszynowego, wsadowych operacji API lub przetwarzania w potokach danych.
Typowe problemy wykrywane podczas walidacji to: brakujące lub nadmiarowe przecinki, niecytowane klucze, końcowe przecinki, niedopasowane nawiasy, nieprawidłowe sekwencje ucieczki i problemy z kodowaniem, takie jak znaki BOM.
Typowe zastosowania
Zapewnienie jakości danych
Waliduj eksporty JSONL przed importem do baz danych lub platform analitycznych, aby zapobiec uszkodzeniu danych.
Walidacja zbiorów danych ML
Sprawdź zbiory danych do dostrajania OpenAI i dane treningowe Hugging Face pod kątem poprawności formatu przed przesłaniem.
Debugowanie potoków danych
Identyfikuj źle sformatowane linie w plikach logów JSONL i wyjściach danych strumieniowych.
Weryfikacja przed przesłaniem
Waliduj pliki JSONL przed przesłaniem do API wymagających ścisłej zgodności formatu.
Walidacja w potokach CI/CD
Integruj walidację JSONL jako krok w potokach CI/CD, aby wykrywać źle sformatowane pliki danych przed ich dotarciem do środowisk produkcyjnych.
Sprawdzanie spójności schematu
Waliduj, czy wszystkie linie w pliku JSONL parsują się poprawnie, i wizualnie sprawdź, czy rekordy mają spójną strukturę schematu.
Najczęściej zadawane pytania
Co dokładnie sprawdza walidator JSONL?
Walidacja JSONL sprawdza, czy każda niepusta linia w pliku jest składniowo poprawnym JSON. Weryfikuje prawidłowe dopasowanie nawiasów, poprawne cytowanie ciągów znaków, prawidłowe sekwencje ucieczki i ogólną strukturę JSON.
Czy walidator sprawdza spójność schematu między liniami?
Tak. Cała walidacja odbywa się lokalnie w Twojej przeglądarce. Żadne dane nie są wysyłane na żaden serwer. Twoja zawartość JSONL nigdy nie opuszcza Twojego urządzenia.
Czy ten walidator JSONL przesyła mój plik?
Tak. Walidator może obsługiwać duże pliki, ponieważ przetwarza każdą linię niezależnie. W przypadku bardzo dużych plików (100 MB+) walidacja może potrwać kilka sekund.
Czy mogę walidować pliki NDJSON za pomocą tego narzędzia?
Przejrzyj szczegóły błędów dla każdej nieprawidłowej linii. Typowe poprawki obejmują dodanie brakujących cudzysłowów, usunięcie końcowych przecinków i zapewnienie prawidłowego dopasowania nawiasów. Możesz również użyć naszego Formatera JSONL, aby pomóc zidentyfikować problemy z formatowaniem.
Dlaczego prawidłowy JSON nie przechodzi walidacji JSONL?
Walidator sprawdza tylko składnię JSON, a nie spójność schematu. Każda linia jest walidowana niezależnie, aby upewnić się, że jest prawidłowym JSON. Do walidacji schematu potrzebny byłby walidator JSON Schema oprócz sprawdzania składni.
Jak naprawić nieprawidłowe linie JSONL?
Tak. Walidator akceptuje pliki z rozszerzeniami .jsonl, .ndjson, .json i .txt. Zawartość jest traktowana tak samo niezależnie od rozszerzenia — każda niepusta linia jest walidowana jako JSON.
Jak obsługiwane są puste linie?
Puste linie i linie zawierające tylko białe znaki są automatycznie pomijane podczas walidacji. Nie są liczone jako błędy i nie pojawiają się w raporcie walidacji. Jest to zgodne ze specyfikacją JSONL.
Jaki jest maksymalny rozmiar pliku do walidacji?
Walidator identyfikuje i raportuje błędy, ale nie naprawia ich automatycznie. Automatyczne naprawianie mogłoby zmienić zamierzone dane. Użyj szczegółów błędów, aby ręcznie poprawić każdy problem, a następnie ponownie zwaliduj, aby potwierdzić, że wszystkie linie przechodzą.