JSON Doğrulayıcı
Herhangi bir JSON belgesini yapıştırın ve RFC 8259’a göre temiz bir şekilde ayrıştırılıp ayrıştırılmadığını görün. Geçersiz girdi, tam olarak hangi sorunun olduğunu söyler, son dizi öğesinden sonra fazladan virgül, tırnaksız anahtar, kapatılmamış dizge, JSON’un çift tırnak istediği yerde tek tırnak, hatalı kaçış dizileri, artı ayrıştırıcının pes ettiği satır ve sütun. Bir API yanıtında, bir yapılandırma dosyasında, bir takım arkadaşınızın elle düzenlediği package.json dosyasında veya bir kod üretecinin çıktısında hata ayıklarken kullanışlıdır.
JSON doğrulama nasıl çalışır
-
1
JSON'unuzu yapıştırın
Bir yük, bir yapılandırma dosyası veya bir API yanıtı bırakın. Boşluklar sorun değil; sekmeler ve yorumlar olmaz (saf JSON'da yorum yoktur).
-
2
Katı bir RFC 8259 ayrıştırıcısıyla ayrıştırın
Doğrulayıcı, spesifikasyonun yasakladığı her şeyi reddeder: fazladan virgüller, tırnaksız anahtarlar, tek tırnaklar, `undefined`, onaltılık sayılar.
-
3
Hatayı okuyun
Başarısız olursa, ayrıştırıcının mesajını artı yaklaşık bir konum alırsınız: doğrudan ilgili karaktere gitmenize yetecek kadar.
-
4
Düzeltin ve yeniden doğrulayın
Sorunu giderin, tekrar yapıştırın ve commit veya gönderim öncesinde belgenin geçerli olduğunu onaylayın.
Katı JSON neye izin verir, ve neye vermez
Etrafta dolaşan pek çok “neredeyse JSON” biçimi var (JSON5, JSONC, HJSON, YAML benzeri melezler). JSON spesifikasyonunun kendisi küçük ve katıdır; bu doğrulayıcı belgenizin katı bir ayrıştırıcıdan sağ çıkıp çıkmadığını söyler, ki çoğu alt sistemin gerçekte çalıştırdığı budur.
Çoğu insanı yakalayan kurallar
| Kural | Geçerli | Geçersiz |
|---|---|---|
| Anahtarlar çift tırnaklı dizge olmalı | {"a": 1} |
{a: 1} |
| Dizgeler yalnızca çift tırnak kullanır | "hello" |
'hello' |
| Fazladan virgül yok | [1, 2, 3] |
[1, 2, 3,] |
| Yorum yok | (yok) | // yorum ya da /* */ |
Sayılar: baş + yok, .5 yok |
0.5 |
+1, .5 |
| Yalnızca ayrılmış değişmezler | true, false, null |
undefined, NaN |
| UTF-8 kodlaması | Unicode dizgeleri | Geçersiz bayt dizileri |
Sık görülen hatalar ve anlamları
- “Unexpected token
}”, kapatan kıvrımlı parantezden önce fazladan virgül var. - “Expected property name”, anahtar tırnaksız ya da açılış anahtarının etrafındaki tırnakları unuttunuz.
- “Unexpected end of input”, açılan bir
{veya[kapatılmamış; parantezleri sayın. - “Bad control character”, bir dizge değişmezinin içinde sekme, satır sonu veya başka bir kontrol baytı var. Bunları
\t,\nvb. olarak kaçırın. - “Duplicate key”, aslında bir JSON spesifikasyon hatası değildir (spesifikasyon benzersiz OLMALI der), ama pek çok doğrulayıcı uyarır. Doğrulayıcı bunu sabit bir hata olarak değil, bir uyarı olarak işaretler.
Daha gevşek biçimlere ihtiyacınız varsa
- JSON5, fazladan virgüllere, yorumlara ve tek tırnaklara izin verir. Hedef biçiminiz buysa bir JSON5 ayrıştırıcısı kullanın.
- JSONC (yorumlu JSON), VS Code ayarlarının kullandığı biçimdir. Katı ayrıştırmadan önce yorumları temizleyin.
- YAML farklı bir biçimdir; bunun “sadece girintilenmiş JSON” olduğunu varsaymayın.
İpuçları
- Commit etmeden önce doğrulayın. Bir
package.jsonya da bir CI yapılandırmasındaki yazım hatası, biri fark edene kadar tüm derlemeyi bozar. - İnceleme farklarını okunabilir kılmak için doğruladıktan sonra biçimli yazdırın. Tek satırlık bir JSON dosyası geçerlidir ama incelemesi içler acısıdır.
- Büyük yükler için akışla doğrulayın (örneğin komut satırında
jq). Tarayıcı içi ayrıştırma birkaç MB’ı geçince zorlanır.
Sık Sorulan Sorular
Bu araç yalnızca sözdizimsel geçerliliği denetler, düzgün biçimlendirilmiş bir JSON mu? Yapısal kurallar için (zorunlu alanlar, enum değerleri, dizge uzunlukları), bir JSON Schema doğrulayıcısı kullanın. İki adım birbirini tamamlar: en başta geçerli JSON olmayan bir belgede Schema doğrulaması çalıştırmanın anlamı yok.
Çünkü standart JSON’da yorum yoktur. // ve /* */ makul bir uzantıdır (JSONC, JSON5) ama saf JSON bunları reddeder. Katı bir tüketiciye göndermeden önce yorumları temizleyin ya da yığınınızda JSON5’i benimseyin.
Katı JSON’da geçersizdir. Spesifikasyon yalnızca sonlu sayılara izin verir. Tüketicinizin eksik veriyi nasıl ele aldığına bağlı olarak bunları dizge ("NaN", "Infinity") ya da null olarak seri hale getirin.
Hayır, doğrulama tarayıcınızda çalışır, dolayısıyla yapıştırdığınız yük sayfadan asla çıkmaz. Hassas yapılandırma dosyaları ve kimlik bilgileri içeren API yanıtları için güvenlidir.
İlgili Araçlar
ASCII Tablosu Referansı
NUL, LF ve DEL dahil her kod için ondalık, onaltılık, sekizlik ve ikili değerlerle HTML sayısal karakter başvurusu gösterimini sunan tam ASCII tablosu.
HTML Karakter Referansı
HTML varlıklarının aranabilir listesi; adlandırılmış ve sayısal kodlarıyla birlikte özel karakter ve semboller için tek tıkla kopyalama.
Klavye kısayolları başvurusu
macOS, Windows ve Linux’ta VS Code, Chrome ve GNU Readline kullanan Bash için belgelenmiş varsayılan kısayolları arayın.
FPS Sayacı
requestAnimationFrame ile tarayıcı FPS değerini ölçün: yumuşatma, en düşük ve en yüksek kare hızı, uyarı eşiği ve isteğe bağlı grafik. Yerel çalışır, yükleme ve API yoktur.
EditorConfig Oluşturucu
Girinti stili ve boyutu, satır sonu, karakter kümesi ve boşluk kurallarınızla bir .editorconfig dosyası oluşturarak IDE ve editörler arasında tutarlı biçimlendirme sağlayın.
E-posta Doğrulayıcı
Bir e-posta adresini doğrulayın: RFC 5322 sözdizimi kontrolü, canlı MX kaydı sorgulama, ayrıca yerel kısım, alan adı ve uzunluk bilgileri. Hiçbir e-posta gönderilmez.
Araç diğer dillerde mevcuttur
- Validador JSON [PT]
- Trình kiểm tra JSON [VI]
- JSONバリデーター [JA]
- JSON 검사기 [KO]
- Validador JSON [ES]
- مدقّق JSON [AR]
- JSON-validator [NL]
- JSON-validator [SV]
- ตัวตรวจสอบความถูกต้องของ JSON [TH]
- Validateur JSON [FR]
- JSON Validator [ID]
- JSON-Validator [DE]
- Walidator JSON [PL]
- Validator JSON [IT]
- Валидатор JSON [RU]
- JSON 校验器 [ZH]
- JSON Validator [EN]