Bir JSON Dosyasını Çevrimiçi Bozun
Bir .json dosyasını çevrimiçi ve ücretsiz bozun. Parantez yapısını kırar ve geçersiz UTF-8 ekler; böylece her JSON ayrıştırıcısı dosyayı reddeder.
- Yükleme yok
- Boyut sınırı yok
- Kayıt yok
JSON dosyanızı bozun
.json, .jsonl, .geojson için ayarlandı ve diğer tüm biçimlerde de aynı şekilde çalışır.
JSON dosyalarını düzgün bozmak neden zordur
JSON'un ne başlığı ne de dizini vardır. Yalnızca dilbilgisiyle doğrulanır. Bu onu kırması kolay, ikna edici biçimde kırması zor kılar: karakterleri rastgele değiştirmek çoğu zaman hoşgörülü bir ayrıştırıcının hâlâ kabul ettiği bir şey ya da bozulmadan çok elle düzenleme gibi okunan, apaçık hırpalanmış bir şey üretir.
Bu araç neyi yok eder
- Yapısal karakterler. Süslü parantezler, köşeli parantezler, virgüller ve tırnaklar üzerine yazılır; böylece belge artık dengelenemez.
- Geçersiz UTF-8. Geçerli UTF-8 olmayan bayt dizileri eklenir; bu, ayrıştırma başlamadan önce çözme aşamasında başarısız olur.
- Açılış baytları. Belgenin başı yok edilir; böylece akış ayrıştırıcıları daha ilk simgede başarısız olur.
- Kuyruk. Kapanış baytları değiştirilir ve belge kalıcı olarak sonlandırılmamış kalır.
Sonrasında ne göreceksiniz
| Uygulama | Davranış |
|---|---|
JSON.parse() | Hemen SyntaxError: Unexpected token fırlatır. |
Python json.load() | JSONDecodeError veya UnicodeDecodeError hatası verir. |
| jq | "parse error: Invalid numeric literal" ve sıfır olmayan bir çıkış kodu. |
| Postman / API istemcileri | Gövdeyi göndermeden önce hatalı diye reddeder. |
Bunu yapmanın yaygın nedenleri
- Bir API'nin hatalı istek gövdesini 500 yerine temiz bir 400 ile reddettiğini test etmek.
- Bir yapılandırma yükleyicisinin kısmi ayarlarla çalışmak yerine hemen başarısız olduğunu doğrulamak.
- Ayrıştırıcı fuzzing derlemi için hatalı örnekler üretmek.
- Bir veri içe aktarma işinin kayıtları sessizce düşürmek yerine sorunlu dosyayı bildirdiğini denetlemek.
JSON dosyası nasıl bozulur
- .json dosyanızı yukarıdaki kutuya bırakın veya seçmek için tıklayın.
- Kısmi hasar (Light) istemiyorsanız ya da kurtarma yazılımını alt etmeniz (Heavy) gerekmiyorsa seviyeyi Standard bırakın.
- Dosyayı boz düğmesine basın. İşlem cihazınızda yapılır, bu yüzden neredeyse anında biter.
- Sonucu indirin. Varsayılan olarak özgün dosya adını ve bayt uzunluğunu korur.
JSON hakkında sık sorulanlar
Neden yalnızca bir kapanış parantezi silmiyoruz?
Çünkü bu bozulma değil, elle yapılmış bir düzenlemedir. Fark edilmesi de düzeltilmesi de çocuk oyuncağıdır. Yapısal hasarın yanına geçersiz UTF-8 eklemek, dosyanın tam da yarım kalmış bir aktarımdaki gibi bayt düzeyinde başarısız olmasını sağlar.
Hoşgörülü bir ayrıştırıcı yine de okur mu?
Hayır. Standart düzeyde dosya geçerli UTF-8 değildir; bu yüzden sondaki virgülleri veya yorumları hoş gören ayrıştırıcılar bile dilbilgisine ulaşamadan başarısız olur.
JSON Lines ve NDJSON'da çalışır mı?
Evet. Satır sınırlı biçimler aynı metin profilini kullanır ve eklenen baytlar hem tek tek kayıtları hem de dosyanın bütününü kırar.
Yalnızca hafifçe bozuk bir dosya alabilir miyim?
Evet. Hafif düzey yükün yaklaşık %0,5'ine dokunur ve bu genellikle her yerde değil, tek bir uzaklıkta başarısız olan bir dosya üretir.