PHP’de Json Hata Debugging

Php ile json işlem fonksiyonları öntanımlı olarak hatalı olduğunda doğrudan null değer döndürüyor. Fakat basit bir fonksiyon ile  hata varsa phpde json hata debugging yaparak neler döndüğünü öğrenebiliyoruz. 

Örneğin başka bir kaynaktan çektiğiniz bir json verisi var. Bu veriyi json_decode ile çözmeye çalıştığınızda null dönüyor ama neden null döndüğüne dair bir hata vermiyor.

Olabilecek hatalar;

  • Çok fazla iç içe element bulunuyor olabilir,
  • Json dizimi hatalı olabilir,
  • Özel karakterlerden kaynaklı syntax hatası olabilir,
  • Ya da verinin kaakter kodlaması UTF-8 dışında bir yapıda olabilir.

Bütün bu hataları anlayabilmek için yapmanız gereken json_decode, json_encode çağrısından sonra

json_last_error()

ile ekrana bir sayı yazdırmak.

Sayıların anlamları:

  1. Çok fazla iç içe alt element var
  2. Json durumu uyuşmuyor
  3. Denetim karakter hatası
  4. Söz dizimi hatası
  5. UTF 8 karakter kodlaması hatası

json_last_error() “0” olarak dönüyor ise hata yok demektir.

Bu hatalardan en çok karşınıza çıkabilecek olanı 5 numaralı UTF 8 hatası. Çözümü için ise gelen json stringini

utf8_encode($json_string);  olarak Utf 8 ile kodlamanız.

Basit ama gözden kaçabileceğini düşüerek yazdığım bir yazı oldu.

Beğen  
Yazar

Makine mühendisliği mezunu bir yazılım uzmanıyım. Otomasyon ve back-end programlama üzerine çalışmaktayım. .net, MVC, ve PHP ile web, masaüstü, ve mobil uygulamalar geliştirmekteyim.

Bir Cevap Yazın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir