Guide 04 / Invalid JSON 400

Request body parse hatalarini, sunucudan once JSON tarafinda ayikla.

API'nin dondugu `400 Bad Request` mesaji cogu zaman fazla geneldir. Sorun trailing comma, tek tirnak, bozuk escape karakteri veya yanlis gonderilen body formatindan biri olabilir. Bu guide, JSON Formatter merkezli en hizli ayiklama akisini toplar.

Syntax
Parse
line ve column bilgisini ilk sinyal olarak kullan
Karsilastirma
Diff
calisan body ile bozuk body arasindaki farki daralt
Tasima
Body
JSON mi, string mi, cift encode mi once onu netlestir
Workflow

4 adimli invalid JSON triage

  1. 1. Raw body'yi aynen ayir ve formatlamaya zorla

    Body'yi postman, curl veya client log'undan aynen alin. JSON Formatter uzerinde validate/format denemesi yapin. Ilk parse hatasi hangi satir ve sutunda oldugunu gosterdiginde sorunu daraltirsiniz.

  2. 2. En yaygin syntax kusurlarini temizle

    Trailing comma, tek tirnak, yorum satiri, bozuk escape ve cift tırnak eksikleri en yaygin nedenlerdir. Hata mesaji soyutsa bile ilk kontrol burasi olmalidir.

  3. 3. Calisan bir ornekle diff al

    Bir endpoint daha once calistiysa o body'yi referans alin. JSON Diff/Compare ile yapisal farklari ayiklamak, gozle satir taramaktan daha hizlidir.

  4. 4. JSON sandiginiz seyin aslinda string veya encode veri olmadigini kontrol et

    Bazen body icindeki alan JSON degil, Base64 veya kacisli string tasir. Ozellikle nested payload'larda once bu parcayi decode edip sonra parse etmek gerekir.

Common Mistakes

En sik 3 400 body nedeni

1. Trailing comma ve tek tirnak

JavaScript objesi gibi yazilan body'ler JSON standardina uymayabilir. `{ 'id': 1, }` gibi yapilar parse edilmez.

2. Cift encode veya kacisli string

Body JSON yerine JSON string olarak gonderilmis olabilir. Bu durumda parse edilen katmanla gonderilen katman farklidir.

3. Yanlis Content-Type veya body tasima sekli

Body teknik olarak duzgun olsa bile `application/json` yerine baska bir format bekleniyorsa ayni 400 parse sorunu gibi gorunebilir.

Example

Bozuk ve duzeltilmis body yan yana

400 uretebilecek bozuk body
{
  'userId': 42,
  "items": ["a", "b",],
  "meta": "{\"ok\":true}"
}
Duzenlenmis body
{
  "userId": 42,
  "items": ["a", "b"],
  "meta": {
    "ok": true
  }
}
Tool Stack

Bu use-case'te hangi araci ne zaman acarsin?

FAQ

Sik sorulanlar

400 hatasi aldigimda once nereyi kontrol etmeliyim?

Ilk adim raw body'yi validate etmektir. Parse olmayan body'yi schema veya business logic seviyesine tasimadan once syntax seviyesinde ayirmak gerekir.

Tek tirnakli body neden bazen localde calisiyor gibi gorunur?

Cunku bazi araclar JavaScript object literal ile JSON'u zihinde karistirir. Ancak standard JSON anahtarlar ve stringler icin cift tirnak ister.

Calisan ornek varsa diff almak neden gerekli?

Cunku hata bazen tek bir escape farkindan ibarettir. Gozle taramaktansa yapisal diff dogrudan sapmayi gosterir.

CTA

Invalid JSON 400 akisini simdi daralt

Body'yi once parse ettirip sonra calisan ornekle karsilastirmak, 400 mesajinin arkasindaki gercek syntax kusurunu cok daha hizli buldurur. Once JSON Formatter ile validate edin, sonra gerekiyorsa diff ve nested decode katmanina gecin.