En Yaygın 5 JSON Hatası (ve Nasıl Düzeltilir)

By JSONValidator.dev Ekibi 2025-07-04

Giriş: JSON Hatalarının Bu Kadar Yaygın Olmasının Nedeni

JSON, API'ler, yapılandırma ve veri alışverişi için en popüler veri formatlarından biridir. Ancak JSON içindeki küçük hatalar bile uygulamaların çalışmasını bozabilir, entegrasyonları durdurabilir ya da hata ayıklamayı kabusa çevirebilir. İşte gerçek örneklerle en sık görülen beş JSON hatası ve nasıl düzeltileceği.

1. Takip Eden Virgül (Trailing Comma)

JSON’da bir obje veya dizide son öğeden sonra virgül kullanmak yasaktır. Bu, elle düzenleme sırasında sıkça yapılan bir hatadır.

Before:
{
  "name": "Alice",
  "age": 30,
}
After:
{
  "name": "Alice",
  "age": 30
}
İpucu: Birçok kod editörü (ve çevrimiçi JSON araçlarımız) takip eden virgülleri otomatik olarak vurgular veya düzeltir.

2. Tek Tırnak vs Çift Tırnak

JSON’da tüm anahtarlar ve metin değerleri sadece çift tırnak içinde olmalıdır. Tek tırnak kullanımı geçerli değildir.

Before:
{
  'name': 'Bob'
}
After:
{
  "name": "Bob"
}
Programlama diliniz tek tırnak kullanımına izin verse bile, JSON’da tek tırnak kullanmayın! JSON sözdizimi JavaScript ve Python’dan daha katıdır.

3. Kaçışsız Karakterler

Bazı karakterler (örneğin satır sonları, sekmeler veya metin içindeki tırnak işaretleri) ters eğik çizgiyle (\) doğru şekilde kaçışlandırılmalıdır.

Before:
{
  "note": "This will break: "hello""
}
After:
{
  "note": "This will work: \"hello\""
}
'unexpected token' veya 'unterminated string' hatası alıyorsanız, verinizde kaçış karakterlerinin eksik olup olmadığını kontrol edin.

4. Eksik Parantez veya Süslü Parantezler

Her açılan köşeli veya süslü parantezin karşılığında kapanan bir parantez olmalıdır. Eksik veya fazla parantez kesinlikle geçersiz JSON’a yol açar.

Before:
{
  "name": "Eve",
  "items": [1, 2, 3
}
After:
{
  "name": "Eve",
  "items": [1, 2, 3]
}
Eksik veya fazla parantezleri anında görmek için çevrimiçi JSON doğrulayıcı kullanın.

5. Veri Tipi Hataları

Sayılar, boolean değerler ve null asla tırnak içine alınmamalıdır. Örneğin, 42 geçerli bir sayıdır, ancak "42" bir metindir.

  • "true" (metin) ile true (boolean) aynı değildir
  • "null" (metin) ile null (değer) aynı değildir
  • "42" (metin) ile 42 (sayı) aynı değildir
Before:
{
  "age": "42",
  "active": "true"
}
After:
{
  "age": 42,
  "active": true
}

Araçlarımız Size Nasıl Yardımcı Olur

JSON’unuzu doğrulama aracımıza veya onarım aracımıza yapıştırarak bu hataları anında tespit edin ve düzeltin. Araçlarımız tam sorunu belirtir ve birçok yaygın hatada otomatik düzeltme önerileri sunar.