JSON Biçimlendirici ve Doğrulayıcı

JSON'u biçimlendirmek, küçültmek veya tam olarak nerede hatalı olduğunu bulmak için yapıştırın. Her şey tarayıcınızda çalışır, böylece verileriniz cihazınızdan asla çıkmaz.

%100 tarayıcınızda çalışır. Yapıştırdığınız hiçbir şey yüklenmez veya saklanmaz.
JSON girişi
Sonuç
Hazır.

JSON biçimlendirici nasıl kullanılır?

  1. JSON'unuzu giriş kutusuna yapıştırın veya doğrudan yazın.
  2. Bir girinti stili seçin: 2 boşluk, 4 boşluk veya Sekme.
  3. Okunaklı biçimde düzenlemek için Biçimlendir, isteğe bağlı tüm boşlukları kaldırmak için Küçült düğmesine tıklayın.
  4. Girdi geçersizse doğrulayıcı, hata mesajını ayrıştırmanın başarısız olduğu satır ve sütunla birlikte gösterir.
  5. İsterseniz nesne anahtarlarını alfabetik olarak sıralamak için Anahtarları sırala seçeneğini kullanın ya da sonucu YAML veya CSV biçimine dönüştürün.
  6. Çıktıyı kopyalayın ve ihtiyacınız olan yere yapıştırın.

Her şey tarayıcınızda çalışır: JSON'unuz hiçbir zaman bir sunucuya yüklenmez veya saklanmaz; bu yüzden özel veriler içeren API yanıtlarını, yapılandırma dosyalarını ve log kayıtlarını gönül rahatlığıyla biçimlendirebilirsiniz.

JSON nedir ve neden biçimlendirilir?

JSON (JavaScript Object Notation), RFC 8259 ve ECMA-404 ile standartlaştırılmış, hafif ve metin tabanlı bir veri biçimidir. Yalnızca altı tür değerden oluşur: nesneler ({}), diziler ([]), dizgeler, sayılar, true ve false mantıksal değerleri ve null. Neredeyse her REST API'nin, birçok yapılandırma dosyasının ve sayısız log işleme hattının onu kullanmasının nedeni bu sadeliğidir.

Makineler boşluklarla ilgilenmez; bu yüzden ağ üzerinden gönderilen JSON çoğu zaman tek satıra küçültülür. Bu verimlidir ama bir insanın okuması neredeyse imkânsızdır. Biçimlendirme satır sonları ve tutarlı girintiler ekler; böylece iç içe yapıyı bir bakışta görebilir, eksik bir alanı fark edebilir ve iki belgeyi bir diff ile karşılaştırabilirsiniz. Küçültme bunun tersini yapar ve JSON'u bir isteğe gömmek veya veri boyutunu azaltmak istediğinizde işe yarar.

Sık yapılan JSON hataları ve çözümleri

JSON, JavaScript nesne değişmezlerinden daha katıdır. Doğrulayıcının en sık yakaladığı hatalar şunlardır:

SorunGeçersizGeçerli
Sondaki virgül[1, 2, 3,][1, 2, 3]
Tek tırnak{'name': 'Ada'}{"name": "Ada"}
Tırnaksız anahtar{name: "Ada"}{"name": "Ada"}
Yorumlar// note veya /* note */Kaldırın ya da bir "_comment" alanı kullanın
JSON dışı değerlerundefined, NaN, Infinitynull veya bir dizge
Baştaki sıfırlar{"id": 007}{"id": 7} veya "007"

JavaScript kodundan kopyalanmış tipik bir bozuk parça şöyle görünür:

{
  name: 'Ada Lovelace',
  born: 1815,   // year
  languages: ['English', 'French',],
}

Düzeltilmiş JSON'da her anahtar ve dizge çift tırnak içindedir, yorum çıkarılmış ve sondaki iki virgül de kaldırılmıştır:

{
  "name": "Ada Lovelace",
  "born": 1815,
  "languages": ["English", "French"]
}

Diğer sık nedenler, dizgelerin içindeki kaçış karakteri eklenmemiş çift tırnaklar veya ham satır sonları (\" ve \n kullanın) ve kapanış parantezinden sonra kalan fazladan bir karakterdir. Bildirilen konum yanlış görünüyorsa hemen üstündeki satırı kontrol edin: eksik bir virgül genellikle ancak ayrıştırıcı bir sonraki değere ulaştığında fark edilir.

İpuçları ve iyi uygulamalar

  • Bir girinti seçin ve ona bağlı kalın. JavaScript projelerinde en yaygın gelenek iki boşluktur; Python araçlarında dört boşluk yaygındır. Tutarlılık, hangisini seçtiğinizden daha önemlidir.
  • Karşılaştırmadan önce anahtarları sıralayın. JSON nesneleri sırasızdır; bu yüzden eşdeğer iki belge farklı görünebilir. Anahtarları sıralamak, sürüm kontrolü diff'lerini ve karşılaştırmaları çok daha temiz hâle getirir.
  • Çok büyük sayılara dikkat edin. JavaScript sayıları 64 bit kayan noktalı olarak saklar; bu yüzden 9.007.199.254.740.991'den (253 − 1) büyük tam sayılar tarayıcıda ayrıştırılırken hassasiyet kaybedebilir. Büyük kimlik numaralarını dizge olarak gönderin.
  • UTF-8 kullanın. RFC 8259, sistemler arasında alınıp verilen JSON için UTF-8'i zorunlu tutar.
  • Gerektiğinde dönüştürün. CSV, bir elektronik tabloda açmak istediğiniz düz bir nesne dizisine uygundur; YAML elle düzenlemesi daha kolay bir biçimdir. İki yönlü dönüşüm için JSON ↔ YAML dönüştürücü veya CSV ↔ JSON dönüştürücü araçlarını deneyin.
İpucu: Bir token mı inceliyorsunuz? JWT'nin yükü (payload) Base64url ile kodlanmış JSON'dur ve JWT çözücü onu sizin için biçimlendirir.

Sıkça sorulan sorular

JSON yorumlara izin verir mi?

Hayır. Ne RFC 8259 ne de ECMA-404 yorumlara izin verir. Bazı araçlar JSONC veya JSON5 gibi genişletilmiş biçimleri kabul eder, ancak standart bir ayrıştırıcı bunları reddeder. Doğrulamadan önce yorumları kaldırın ya da notları normal bir alana taşıyın.

JavaScript'te çalışan JSON'um neden geçersiz?

JavaScript nesne değişmezleri tek tırnaklara, tırnaksız anahtarlara, sondaki virgüllere, yorumlara ve undefined gibi değerlere izin verir. JSON bunların hiçbirine izin vermez. JSON'u elle yazmak yerine kodda geçerli JSON üretmek için JSON.stringify() kullanın.

Biçimlendirme verilerimi değiştirir mi?

Biçimlendirme ve küçültme yalnızca öğeler arasındaki boşlukları değiştirir; anahtarlar, değerler ve dizi sırası aynı kalır. Anahtarları sıralamak nesne üyelerinin sırasını değiştirir; JSON nesneleri sırasız olduğundan bu, anlamı değiştirmez.

Biçimlendirme ile doğrulama arasındaki fark nedir?

Doğrulama, metnin söz dizimi açısından doğru JSON olup olmadığını kontrol eder. Biçimlendirme ise geçerli JSON'u okunaklı girintilerle yeniden yazar. Biçimlendirici önce doğrulama yapar; bu yüzden ayrıştırılamayan bir belgeyi biçimlendiremezsiniz.

İç içe JSON'u CSV'ye dönüştürebilir miyim?

CSV düz bir tablodur; bu yüzden en iyi, aynı anahtarları paylaşan bir nesne dizisiyle çalışır. İç içe nesnelerin ve dizilerin doğrudan bir CSV karşılığı yoktur; genellikle düzleştirilir ya da tek bir hücreye serileştirilir.

Güncellendi

Panoya kopyalandı