Uszkodź plik JSON online
Uszkodź plik .json online za darmo. Łamie strukturę nawiasów i wstrzykuje nieprawidłowy UTF-8, więc każdy analizator JSON odrzuci plik.
- Bez wysyłania
- Bez limitu rozmiaru
- Bez rejestracji
Zepsuj swój plik JSON
Dostrojone do .json, .jsonl, .geojson, i tak samo dobrze działa z każdym innym formatem.
Dlaczego pliki JSON trudno zepsuć porządnie
JSON nie ma ani nagłówka, ani indeksu. Sprawdzany jest wyłącznie gramatyką. To czyni go łatwym do zepsucia i trudnym do zepsucia przekonująco: losowa zamiana znaków często daje coś, co pobłażliwy analizator wciąż przyjmie, albo coś tak wyraźnie pokiereszowanego, że czyta się jak ręczna edycja, a nie uszkodzenie.
Co niszczy to narzędzie
- Znaki strukturalne. Nawiasy klamrowe, kwadratowe, przecinki i cudzysłowy zostają nadpisane, więc dokumentu nie da się już zbalansować.
- Nieprawidłowy UTF-8. Wstrzykiwane są sekwencje bajtów, które nie są poprawnym UTF-8, co zawodzi na etapie dekodowania, zanim analiza w ogóle się zacznie.
- Bajty początkowe. Początek dokumentu zostaje zniszczony, więc analizatory strumieniowe zawodzą już na pierwszym tokenie.
- Ogon pliku. Bajty zamykające zostają zastąpione, przez co dokument pozostaje trwale niedomknięty.
Co zobaczysz potem
| Aplikacja | Zachowanie |
|---|---|
JSON.parse() | Natychmiast rzuca SyntaxError: Unexpected token. |
json.load() w Pythonie | Zgłasza JSONDecodeError lub UnicodeDecodeError. |
| jq | „parse error: Invalid numeric literal” i niezerowy kod wyjścia. |
| Postman / klienty API | Odrzucają treść żądania jako wadliwą jeszcze przed wysłaniem. |
Częste powody, by to zrobić
- Sprawdzenie, że API odrzuca wadliwą treść żądania czystym błędem 400, a nie 500.
- Weryfikacja, że wczytywarka konfiguracji zawodzi natychmiast, zamiast działać z częściowymi ustawieniami.
- Budowanie wadliwych próbek do korpusu fuzzingu analizatorów.
- Sprawdzenie, że zadanie importu danych zgłasza wadliwy plik, zamiast po cichu gubić rekordy.
Jak zepsuć plik JSON
- Przeciągnij plik .json na pole powyżej albo kliknij, aby wybrać.
- Zostaw poziom Standard, chyba że chcesz uszkodzenie częściowe (Light) albo musisz pokonać oprogramowanie odzyskujące (Heavy).
- Naciśnij Zepsuj plik. Przetwarzanie odbywa się na Twoim urządzeniu, więc kończy się niemal natychmiast.
- Pobierz wynik. Domyślnie zachowuje pierwotną nazwę pliku i długość w bajtach.
Najczęstsze pytania o JSON
Dlaczego nie usunąć po prostu nawiasu zamykającego?
Bo to ręczna edycja, a nie uszkodzenie. Banalnie łatwo ją dostrzec i banalnie łatwo naprawić. Wstrzyknięcie nieprawidłowego UTF-8 obok uszkodzeń strukturalnych sprawia, że plik zawodzi na poziomie bajtów, dokładnie tak jak przerwany transfer.
Czy pobłażliwy analizator i tak go odczyta?
Nie. Na poziomie Standardowym plik nie jest poprawnym UTF-8, więc nawet analizatory tolerujące końcowe przecinki czy komentarze zawodzą, zanim dojdą do gramatyki.
Czy działa na JSON Lines i NDJSON?
Tak. Formaty rozdzielane wierszami używają tego samego profilu tekstowego, a wstrzyknięte bajty łamią zarówno pojedyncze rekordy, jak i cały plik.
Czy mogę dostać plik zepsuty tylko lekko?
Tak. Poziom Lekki dotyka około 0,5% zawartości, co zwykle daje plik zawodzący w jednym konkretnym miejscu, a nie wszędzie.