PHP de JSON Kullanımı

PHP de JSON Kullanımı

Hepinize merhaba dostlarım :). Bu yazımda sizlere günümüzde yazılım dünyasında oldukça popüler bir yere sahip olan ve projelerde sıklıkla kullanılan JSON un PHP programlama dilinde kullanımından bahsedeceğim. Bazı dostlarım yeni yeni duymuş olabilir, bazı dostlarım zaten biliyordur ama olsun ben yine de anlatmaktan yanayım :). Bilmeyen dostlarımın heyecanını seziyorum o halde sözümü daha fazla uzatmadan hemen konuya geçeyim :).

JSON Nedir?

Dostlarım JSON (Javascript Object Notation) bir metinsel depolama yapan araçtır. Nasıl ki javascript dilinde objeler bir veri depolar bu json da aynı şekilde veri depolar. Yalnız bir farkı vardır. Javascript programlama dilinde objeler (okumayan dostlarım buradan ulaşabilirler)

<script>
var obje = {
  isim : "Ahmet",
  soyisim : "Çınar"
}
</script>

şeklinde tanımlanıyorken json un tanımlanma şekli

{
   "isim" : "Ahmet",
   "soyisim" : "Çınar"
}

şeklindedir dostlarım. Kullanımı oldukça basittir kendinizi zorlamayın :).

Şimdi bazı dostlarım yani JSON u ilk defa gören dostlarımın aklında şu soru vardır ?

Hocam tamam her şey normal de bu JSON nerelerde kullanılır ?

Çokgüzel bir soru sordunuz dostlarım. JSON webservis, pazaryeri entegrasyonları, ödeme sisitemi entegrasyonlarında sıklıkla kullanılır :).

Artık json un ne olduğuna, nasıl bir yapıda olduğuna ve nerelerde kullanıldığına değindiğimize göre gelelim php programlama dilinde json yapıları üzerinde nasıl işlemler yapabiliyoruz onlara bakalım dostlarım :).

PHP de JSON İşlemleri

Dostlarım PHP programlama dilinde json yapısıyla işlemler yapmak için bizi her zaman karşılayan ve kullanmamızın bize çok faydası olan 2 fonksiyon vardır. Bunlar

  1. json_encode()
  2. json_decode()

fonksiyonlarıdır dostlarım :). Gelin hep beraber ilk fonksiyonumuz olan json_encode() ile konumuza girişimizi yapalım

json_encode()

Dostlarım JSON işlemlerinde karşımıza sık sık çıkan ve işimize oldukça yarayan komutlardan birisi olan json_encode() fonksiyonu bizim içerisine girdiğimiz metin olsun veya dizi olsun bunu json formatına çevirmemize yardımcı olur. Tek bir parametre alır:

  1. Json a çevrilecek olan değer

şeklindedir dostlarım. Gelin sizinle bir dizi oluşturalım ve bunu json a çevirip ekranımıza bastıralım :).

<?php

$dizi = [
   "isim"=>"Ahmet",
   "soyisim"=>"Durmaz"
];
	
echo json_encode($dizi); // json formatına çevir ve ekrana bas komutunu verdik

// Ekran Çıktısı :  {"isim":"Ahmet","soyisim":"Durmaz"}
?>

şeklinde kodlarımızı yazdık dostlarım. Burada bir dizi oluşturup key => value şeklinde bunu json_encode() fonksiyonu ile json formatına çevirip ekranımıza bastırılmasını istedik. Ve çıktı sonucunda olduğu gibi dizimiz bir json formatına çevrilip ekranımıza bastırılmış oldu dostlarım. Şimdi sizin aklınızda bir soru var

Hocam tamam burası da yalnız aklımızda bir soru var. Biz bu dönen sonucu nasıl eski haline döndeririz ?

Ben de tam oraya geliyordum dostlarım :). O halde sözümü daha fazla uzatmadan json_decode() fonksiyonuna geçelim :)

json_decode()

Dostlarım yukarıda json_encode() içerisinde bizim gönderdiğimiz değişkenin json formatına dönüştürülmesini göstermiştim. Şimdi ise json türündeki bir verinin dizi veya obje haline nasıl dönüştürüleceğini json_decode() fonksiyonu üzerinden anlatacağım. Dostlarım json_decode() fonksiyonu 2 parametre alır. Bunlar:

  1. Json dan normal hale çevrilecek veri (zorunlu)
  2. True (true dersek diziye çevirir, boş bırakırsak objeye çevirir) (zorunlu değil)

şeklindedir dostlarım :). Heyecanınızın arttığını görüyorum. O halde sözü daha fazla uzatmadan bir örnek yapalım diyorum :). 

Dostlarım 2 örnek yapacağım. İlkinde true ifadesini yazmadan verinin obje olarak ekrana bastırılmasına değineceğim. İkinci örnekte ise true ifadesini yazarak verinin array türüne dönüştürüp ekrana bastırmaktan örnek göstereceğim :).


Örnek 1:
<?php

$dizi = [
   "isim"=>"Ahmet",
   "soyisim"=>"Durmaz"
];
	
$json_veri = json_encode($dizi);  // json a çevirdik

$normal_veri = json_decode($json_veri);  // json dan objeye çevirdik
print_r($normal_veri);  // ekrana verileri yazdırdık

// Ekran Çıktısı: stdClass Object ( [isim] => Ahmet [soyisim] => Durmaz )
?>

şeklinde bize sonuç çıktısını obje olarak verdi dostlarım :). Sebebini soracak olursanız true ifadesini yazmadığımızdan dolayı :). Şimdi aklınızda bir soru işareti var

Hocam biz bu şekilde objeye çevirdik çok güzel buraya kadar sıkıntı yok. Peki biz bu verilere nasıl ulaşacağız ?

Dostlarım çok basit. İnanın zor bir yanı yok. Aşağıdaki gibi verilere ulaşıp yazdıabiliriz

<?php
  echo $normal_veri->isim."<br>";
  echo $normal_veri->soyisim;

  /*
    Ekran Çıktısı:

    Ahmet
    Durmaz
  */
?>

Örnek 2:
<?php

$dizi = [
   "isim"=>"Ahmet",
   "soyisim"=>"Durmaz"
];
	
$json_veri = json_encode($dizi); // json a çevirdik

$normal_veri = json_decode($json_veri,true);  // json dan diziye çevirdik (true parametresi yazarak)
print_r($normal_veri);  // Ekrana bastırdık

// Ekran Çıktısı: Array ( [isim] => Ahmet [soyisim] => Durmaz )
?>

şeklinde kodumuzu yazdık ve çıktı olarak bize bir dizi verdi dostlarım. Neden dizi olarak verdi diye soracak olursanız dostlarım json_decode() içerisinde true parametesini yazdığımız için dostlarım :). Şimdi gelelim bu verilere nasıl erişeceğimize

<?php

  echo $normal_veri['isim']."<br>";
  echo $normal_veri['soyisim'];

  /*
    Ekran Çıktısı:

    Ahmet
    Durmaz
  */

?>

şeklinde dostlarım dizi olduğu için indis olarak belirtilip değerlere ulaşabiliyoruz :).


Evet dostlarım bu yazımda sizlere PHP programlama dilinde json kullanımından dilim döndüğünce anlatmak istedim :). Umarım faydalı olmuşumdur. Başlarda biraz zor veya karmaşık gelebilir dostlarım anlıyorum. Bu noktada her yazımın sonunda dediğim gibi "İstikrarlı ve Azimli Olmalısınız, Bolca Pratik Yapmalısınız :)" sözünü hayat fellsefeniz yaptığınız taktirde başarı sizin için kaçınılmaz olacaktır dostlarım :).

Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle :). İyi çalışmalar dilerim :)

Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıXampp Nedir ve Nasıl Kurulur
Sonraki YazıFramework Nedir ?
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz