Nasıl kullanılır?
- JSON'unuzu kutuya yapıştırın, bir dosya açın veya hata raporunu görmek için “Bir örnek dene”ye basın.
- Sonucu inceleyin: JSON geçerliyse yeşil bir mesaj, değilse ilk hatayı satır ve sütun bilgisiyle ve sorunun altındaki bir işaretle görürsünüz.
- İpucunda açıklanan hatayı düzeltip yeniden denetleyin; yazdıkça sonuç güncellenir.
- JSON geçerliyse istatistikleri inceleyin: kök türü, anahtar sayısı, iç içe geçme derinliği ve bayt cinsinden boyut.
Nasıl çalışır?
Doğrulayıcı, tarayıcının kendi JSON ayrıştırıcısını kullanarak sözdizimini JSON standardına (RFC 8259 / ECMA-404) göre denetler. Bu nedenle burada doğrulamadan geçen bir belge, JavaScript'in JSON.parse işlevi ve diğer dillerdeki standartlara uygun ayrıştırıcılar tarafından da kabul edilir. Ayrıştırma başarısız olursa, bu araç için yazılmış katı bir denetleyici metni bir kez tarayarak ilk hatayı ve tam satır ile sütun konumunu bulur; ardından sorunlu satırı, hatanın altına yerleştirilmiş ^ işaretiyle gösterir.
İpuçları, JSON elle yazılırken veya JavaScript'ten kopyalanırken sık yapılan hatalara odaklanır: son öğeden sonra virgül, tek tırnaklı dizeler, tırnaksız anahtarlar, // veya /* */ yorumları, NaN, Infinity ya da undefined gibi değerler, dizelerin içinde ham satır sonları ve art arda yapıştırılmış iki JSON belgesi (JSON Lines dosyalarında olduğu gibi). Tek bir hata çoğu zaman sonrasındaki her şeyi etkilediğinden yalnızca ilk hata bildirilir.
Araç yalnızca sözdizimini denetler. JSON Schema'ya göre doğrulama yapmadığından zorunlu bir alanın eksik olup olmadığını belirleyemez. Yinelenen anahtarlar konusunda da uyarı vermez: standarda göre bunlara izin verilir ve çoğu ayrıştırıcı son değeri tutar. İstatistikler, her düzeydeki tüm nesnelerin anahtarlarını sayar; düz bir nesne veya dizi için derinlik 1'dir ve her iç içe düzeyde bir artar.
Örnekler
JavaScript'ten kopyalanan yapılandırma
{name: 'demo', debug: true,} ifadesi 1. satır, 2. sütunda “Nesne anahtarları çift tırnak içinde olmalıdır” hatası verir. Anahtarı tırnak içine aldıktan sonraki denemede tek tırnaklı dize, ardından da sondaki virgül gösterilir.
Her satırda bir nesne bulunan günlük dosyası
{"id":1} ve {"id":2} gibi iki satırı yapıştırdığınızda 2. satırda “JSON değerinin bitiminden sonra başka içerik var” hatası bildirilir. Her satır tek başına geçerli JSON'dur (JSON Lines); ancak birlikte kullanılmaları için [ ] içine alınmaları ve aralarına virgül konması gerekir.
Bir API yükünü denetleme
2 MB'lık bir yanıt anında doğrulanır ve Root type: Array, üst düzeyde 1.500 öğe ve 4 derinlik düzeyi bilgilerini gösterir. Bu, yanıtla ilgili kod yazmadan önce hızlı bir makullük kontrolü sağlar.
Sık sorulan sorular
JSON Schema'ya göre doğrulama yapıyor mu?
Hayır. Metnin geçerli biçimde yazılmış JSON olup olmadığını denetler. Zorunlu alanları, türleri veya biçimleri denetlemek için bu araçta bulunmayan bir JSON Schema doğrulayıcısı gerekir.
Neden yalnızca bir hata gösteriliyor?
İlk sözdizimi hatasından sonra ayrıştırıcı, yazarın ne demek istediğini bilemez. Bu nedenle sonraki “hatalar” çoğunlukla ilk hatanın yan etkileridir. Bildirilen sorunu düzeltin; varsa sıradaki hata hemen görüntülenir.
Yorumlar veya sondaki virgüller hiç geçerli olur mu?
JSON'da yorumlara izin verilmez. Bazı düzenleyicilerin ayar dosyalarında kullanılan JSON5 ve JSONC gibi biçimlerde yorumlara izin verilir; ancak standart JSON ayrıştırıcıları bunları reddeder ve burada hata olarak bildirir.
42 veya "hello" gibi tek bir değer geçerli JSON mudur?
Evet. RFC 7159'dan bu yana yalnızca nesne ve diziler değil, her JSON değeri kök olabilir. Bazı eski araçlar ve API'ler en üst düzeyde hâlâ nesne veya dizi bekler.
Sütun numarası neden düzenleyicimdekiyle farklı olabilir?
Sütunlar, JavaScript'in dizelerin uzunluğunu hesaplarken kullandığı UTF-16 kod birimleriyle sayılır. Emoji ve bazı nadir karakterler iki birim, sekme ise bir sütun sayılır; ancak düzenleyiciler sekmeyi daha geniş gösterebilir.
Gizlilik
Doğrulama tamamen tarayıcınızda yapılır. Yapıştırdığınız veya açtığınız JSON yüklenmez, saklanmaz ya da analiz verilerine eklenmez.