JSON nedir ve neden bozulur?

JSON (JavaScript Object Notation), sistemler arasında bilgi depolamak ve değiş tokuş etmek için kullanılan hafif bir veri formatıdır. Katı sözdizimi kurallarını takip eder: dizeler çift tırnak kullanmalı, nesneler uygun küme parantezlerine ihtiyaç duyar, diziler köşeli parantez gerektirir ve sondaki virgüller yasaktır. Tek bir yanlış yerleştirilmiş karakter bile tüm belgeyi geçersiz hale getirebilir.

JSON, günlüklerden, sohbet mesajlarından veya kod editörlerinden kopyalandığında sıklıkla bozulur. El ile düzenleme, eksik tırnak, kaçış karakterleri olmayan karakterler veya uyumsuz parantezler gibi hatalara neden olur. API'ler bazen hatalı biçimlendirilmiş yanıtlar döndürür ve yapılandırma dosyaları manuel düzenlemeler sırasında bozulabilir.

Araç açıklaması

Bu JSON Repairer, bozuk veya hatalı biçimlendirilmiş JSON belgelerini otomatik olarak düzeltir. Girişi analiz eder, sözdizimi hatalarını tanımlar ve orijinal veri yapısını ve değerlerini koruyarak geçerli JSON'u yeniden oluşturur. Araç, aksi takdirde zahmetli manuel düzeltme gerektiren yaygın sorunları işler.

Örnekler

Anahtarlar etrafında eksik tırnak:

{name: "John", age: 30}

Düzeltilmiş:

{ "name": "John", "age": 30 }

Sondaki virgüller:

{ "items": ["apple", "banana", "orange"] }

Düzeltilmiş:

{ "items": ["apple", "banana", "orange"] }

Çift tırnak yerine tek tırnak:

{'status': 'active', 'count': 5}

Düzeltilmiş:

{ "status": "active", "count": 5 }

Tırnak işareti olmayan dize değerleri:

{"message": Hello World}

Düzeltilmiş:

{ "message": "Hello World" }

Eksik kapanış parantezleri:

{"data": [1, 2, 3}

Düzeltilmiş:

{ "data": [1, 2, 3] }

Özellikler

  • Anahtarlar ve dize değerleri etrafında otomatik olarak eksik tırnak ekler
  • Diziler ve nesnelerden sondaki virgülleri kaldırır
  • Tek tırnak işaretlerini çift tırnak işaretlerine dönüştürür
  • Uyumsuz veya eksik parantez ve küme parantezlerini düzeltir
  • Pretty-print veya minified çıktı ile isteğe bağlı biçimlendirme

Nasıl çalışır

Onarım algoritması, girişi karakter karakter ayrıştırarak geçerli bir JSON yapısı oluşturur. Geçersiz sözdizimi ile karşılaştığında, yaygın JSON hatalarına dayalı düzeltme kuralları uygular. Eksik tırnak işaretleri bağlamdan çıkarılır, eşleşmeyen parantezler uygun konumlarda kapatılır ve geçersiz karakterler işlenir veya kaçış karakteri eklenir. Sonuç, herhangi bir JSON ayrıştırıcı tarafından ayrıştırılabilen sözdizimi açısından doğru JSON'dur.

Kullanım durumları

  • API yanıtlarında hata ayıklama: İşlenmeden önce API'ler veya web hizmetlerinden döndürülen hatalı biçimlendirilmiş JSON'u düzeltir
  • Günlük verilerini temizleme: Uygulama günlüklerinden veya konsol çıktısından çıkarılan JSON parçalarını onarır
  • Yapılandırma dosyalarını düzeltme: Sözdizimi hatalarının biriktiği el ile düzenlenmiş JSON yapılandırmalarını düzeltir

Sınırlamalar

  • Tamamen yapılandırılmamış metni JSON'a hiç benzemiyorsa onaramaz
  • Belirsiz girişi amaçlanandan farklı şekilde yorumlayabilir (her zaman çıktıyı doğrulayın)
  • Anlamsal hatalar (yanlış veri türleri, yanlış değerler) algılanmaz veya düzeltilmez