PHP Json Kullanımı

Bu yazımızda günümüzde web yazılımlarında oldukça popüler olan json verilerinin PHP ile nasıl kullanıldığına değineceğiz.

JSON Nedir ?

Json (Javascript Object Notation) yapısı genellikle veri depolayan metinsel ifadelerdir. Dosya halinde tutulabilir ve uzantısı .json'dur.

Json verileri anahtar ve değer sözdiziminden oluşur.

Json'lar veri alışverişinde, servislerde, api yapılarında kullanılır ve günümüzde de oldukça popülerdir. Örnek bir json dosyası şu şekildedir.

{
    isim"Zafer", 
    yas: 26,
    sehir: "İstanbul"
}

PHP JSON KULLANIMI

Php dilinde json oluşturmak ve json okumak için 2 adet yerleşik fonksiyon bulunmaktadır.

json_encode(),

json_decode()

json_encode Kullanımı

Bu fonksiyonu kullanarak bir diziyi json formatına çevirebiliriz.

Örnek 1:

 <?php 
   $dizi = ["Zafer","Sare","Aşk"];
   print_r(json_encode($dizi)); 
   //çıktı : ["Zafer","Sare","Aşk"]  
   ?>

Örnek 2:

 <?php 
   $dizi = [
    "isim"=>"Zafer",
    "Soyisim"=>"Yildiz",
    "Yas"=>"26", 
    "Meslek"=>"Yazilim Uzmani"
   ];
   print_r(json_encode($dizi));
   Kodu çalıştırınca karşımıza şu çıkar:  {"isim":"Zafer","Soyisim":"Yildiz","Yas":"26","Meslek":"Yazilim Uzmani"}
  ?>

json_decode() Kullanımı

Bir json verisini okumak, değerlere ulaşmak için json_decode() fonksiyonunu kullanabiliriz.

Örnek:

 <?php 
   $kisiler= '{"Zafer":26,"Sare":21,"Bahar":4,"Seda":22}';
   $diziye_cevir = json_decode($kisiler);
    foreach ($diziye_cevir as $k => $v) {
        echo $k." ".$v." yaşındadır. <br>";
    }
/*
çıktı:
Zafer 26 yaşındadır.
Sare 21 yaşındadır.
Bahar 4 yaşındadır.
Seda 22 yaşındadır. 
*/
  ?> 

Yukardaki örnekte foreach döngüsü ile değerlere ulaştık. Eğer foreach kullanmadan değerlere ulaşmak isteseydik aşağıdaki gibi yapmamız yeterli olacaktı.

 <?php 
   $kisiler= '{"Zafer":26,"Sare":21,"Bahar":4,"Seda":22}';
   $diziye_cevir = json_decode($kisiler ,true);
     echo $diziye_cevir["Zafer"]."<br>";
     echo $diziye_cevir["Sare"]."<br>";
     echo $diziye_cevir["Bahar"]."<br>";
     echo $diziye_cevir["Seda"]."<br>";
/*
çıktı:
26
21
4
22
*/
  ?>

Burada ince bir nokta var. json_decode($json,true) dersek bize array yani dizi türünde sonuç döndürürken true yazmazsak ve orayı boş bırakırsak bize nesne türünden değer döndürecektir.

 <?php 
   $kisiler= '{"Zafer":26,"Sare":21,"Bahar":4,"Seda":22}';
   $diziye_cevir = json_decode($kisiler);
     echo $diziye_cevir->Zafer."<br>";
     echo $diziye_cevir->Sare."<br>";
     echo $diziye_cevir->Bahar."<br>";
     echo $diziye_cevir->Seda."<br>";
  ?>

Bu kodda üstteki kod ile aynı çıktıyı verecektir. Aralarındaki bu farka dikkat etmekte fayda var çünkü bazen farklı veri tiplerinde sonuç almamız gerekebilir.

YAZAR HAKKINDA

26 Yaşında. Araştırmayı seven, bir şeyler öğretmeye meraklı bir Bilgisayar Mühendisi

0 YORUM

Bu konuya henüz yorum yapılmamış

Yorum Yap

@COPYRIGHT KodlamakLazım Tüm Hakları Saklıdır.