ByteCompress

JSON Doğrulayıcı

JSON'un RFC 8259'a göre sözdizimsel olarak geçerli olup olmadığını kontrol edin. Hızla sorunları düzeltmek için satır ve sütun numaralarıyla kesin hata mesajları alın.

0 chars
FreeClient-sideNo signup

Bir dizideki son elemandan sonra gelen bir son virgül, en yaygın JSON hatasıdır - ve bu, minify edilmiş çıktıda gözle görülmez. StackOverflow'un 2023 geliştirici anketi analizine göre, JSON ayrıştırma hataları API hata ayıklama süresinin yaklaşık %15'ini oluşturuyor. Bu doğrulayıcı, bunu ve diğer tüm RFC 8259 ihlallerini doğrudan tarayıcınızda yakalar. JSON'unuzu yapıştırın ve anında bir karar alın: geçerli veya geçersiz, herhangi bir sorunun tam satır ve sütunu ile. Hiçbir şey yüklenmez. Hesap gerekmez.

JSON Nasıl Doğrulanır

  1. JSON'unuzu giriş kutusuna yapıştırın veya yazın.
  2. Doğrulayıcı, sözdizimini gerçek zamanlı olarak kontrol eder veya tam rapor için Doğrulaya tıklayın.
  3. Geçerliyse, bir yeşil gösterge yapıyı onaylar ve üst düzey türün bir özetini sunar.
  4. Geçersizse, hata paneli tam satır, sütun ve sorunun basit bir tanımını gösterir.
  5. Belirtilen sorunu düzeltin ve temiz bir sonuç alana kadar yeniden doğrulayın.

Kontrol Edilenler

Yapısal Kurallar

JSON, en üst düzeyde bir nesne ({}) veya bir dizi ([]) ile başlamalıdır, ancak RFC 8259 ayrıca üst düzey değerler olarak ilkel türleri (dizeler, sayılar, booleanlar, null) de kabul eder. Süslü parantezler ve köşeli parantezler dengeli ve düzgün bir şekilde yerleştirilmelidir. Virgüller elemanları ayırmalıdır ancak son elemandan sonra görünmemelidir - son virgüller en sık karşılaşılan JSON hatasıdır. Her nesne anahtarı çift tırnaklı bir dize olmalıdır.

Değer Türleri

JSON, altı değer türünü tanımlar: dizeler (çift tırnaklı, belirli kaçış dizileri ile), sayılar (tam sayılar ve ondalık sayılar, başında sıfır olmadan), booleanlar (true ve false, yalnızca küçük harfle), null (küçük harfle), nesneler ve diziler. JavaScript'e özgü değerler olan undefined, NaN, Infinity ve fonksiyon ifadeleri geçerli JSON değildir ve doğrulamayı geçemez.

RFC 8259 Uyumu

RFC 8259 (Aralık 2017'de yayımlandı, RFC 4627 ve RFC 7159'un yerini aldı) JSON için mevcut IETF standardıdır. UTF-8 kodlamasını belirtir, yinelenen nesne anahtarlarını yasaklar ve dize değerleri için kesin kaçış dizilerini tanımlar. Bu doğrulayıcı, tüm ayrıştırıcılar ve diller arasında maksimum uyumluluk için katı RFC 8259 kurallarını uygular.

Örnek

Geçersiz Girdi (son virgül)

{
  "name": "Alice",
  "roles": ["admin", "editor",]
}

Doğrulayıcı Hatası

Hata satır 3, sütun 33'te: Beklenmeyen token ']'
Son virgüller JSON dizilerinde izin verilmez (RFC 8259 §5).

Yaygın Sözdizim Hataları

  • Son virgül - {"a": 1,} - kapanış süslü parantez veya köşeli parantezden önceki son virgülü kaldırın
  • Tek tırnaklı dizeler - {'key': 'value'} - çift tırnağa değiştirin
  • Alıntısız anahtarlar - {key: "value"} - anahtarı çift tırnağa sarın
  • JavaScript yorumları - // yorum veya /* yorum */ - JSON'un yorum sözdizimi yoktur; bunları kaldırın
  • Yanlış boolean/null yazımı - True, False, NULL geçersizdir; true, false, null kullanın

Doğrulama ve Biçimlendirme Arasındaki Fark

Doğrulama, JSON'un sözdizimsel olarak doğru olup olmadığını kontrol eder - belirli hata ayrıntılarıyla geçer veya geçmez. Biçimlendirme yalnızca okunabilirlik için boşluk ekler ve doğruluğu kontrol etmez. Geçersiz JSON'u biçimlendirmeyi denemek de başarısız olur, çünkü biçimlendirici önce JSON'u ayrıştırmak zorundadır. Önce doğrulayın, sonra biçimlendirin.

JSON doğrulamayı geçtiğinde, JSON Biçimlendirici okunabilirlik için girintiler ekler ve JSON Küçültücü üretim kullanımı için sıkıştırır. URL'ye gömülü JSON için, doğrulamadan önce URL Çözücü ile çözün.

Sıkça Sorulan Sorular

JSON doğrulama ve biçimlendirme arasındaki fark nedir?

Doğrulama, JSON'un RFC 8259'a göre sözdizimsel olarak doğru olup olmadığını kontrol eder. Biçimlendirme yalnızca okunabilirlik için boşluk ekler ve doğruluğu kontrol etmez. Geçersiz JSON'u biçimlendirmeyi deneyebilirsiniz, ancak biçimlendirici de başarısız olacaktır çünkü önce JSON'u ayrıştırması gerekir. Biçimlendirmeden önce doğrulayın.

JavaScript JSON'umu kabul ediyor ama doğrulayıcı neden reddediyor?

Bazı JavaScript ortamları, yorumlara, tek tırnaklı dizelere ve son virgüllere izin veren JSON5 veya HJSON gibi gevşek JSON süper kümesini kabul eder. Bu doğrulayıcı, JSON'un tüm dillerde ve çalışma zamanlarında çalışmasını sağlamak için katı RFC 8259'a karşı test eder. Kullanım durumunuz yalnızca JavaScript ise, JSON5.parse() ve json5 kütüphanesini düşünün.

Bu araçla JSON Şeması belgelerini doğrulayabilir miyim?

Bu araç yalnızca JSON sözdizimini doğrular, JSON Şeması anlamlarını değil. Bir JSON Şeması belgesi kendisi geçerli bir JSON'dur, bu nedenle sözdizimi doğrulaması çalışır. Bir veri nesnesinin bir JSON Şeması tanımına uyup uymadığını doğrulamak için ajv gibi özel bir JSON Şeması doğrulayıcısına ihtiyacınız var.

Burada doğrulama yaparken verilerim özel mi?

Tamamen. Doğrulama, tarayıcınızda yerel JSON.parse işlevini kullanarak istemci tarafında çalışır. Hiçbir veri sunucuya gönderilmez, kaydedilmez veya depolanmaz. API kimlik bilgileri, kişisel bilgiler veya dahili iş verileri içeren yükleri güvenle doğrulayabilirsiniz.

En yaygın JSON doğrulama hataları nelerdir?

Sıklık sırasına göre: (1) son elemandan sonra gelen virgüller - [1, 2, 3,]; (2) çift tırnak yerine tek tırnaklı dizeler; (3) dizeler içinde kaçış karakterleri veya kontrol karakterleri içeren kaçışlanmamış ters eğik çizgiler; (4) JavaScript yorumları; (5) True/False/Null yerine büyük harfle true/false/null kullanımı.