Php de json kullanımı

JSON(JavaScript Object Notation) bir veri değişim formatıdır. 

1. Json Nesne (object) Yapısı

Json nesneleri süslü parantezler { } arasında yazılır. İçerisinde ise iki parçadan yani anahtar(key)-değer(value) çiftlerinden oluşan veri çifti bulunur. Anahtar değerinden sonra iki nokta üst üste(:) işareti konulur ve değer yazılır. Değeri yazdıktan sonra yeni bir çift yazacaksak virgül(,) ile ayırmamız gerekir.  Bu anahtar verileri string türünde tanımlanmalıdır. Genel gösterimi aşağıdaki gibidir.

{
   "anahtar1": "değer1",
   "anahtar2": "değer2"
}

Örnek

{
   "isim": "Ahmet",
   "soyisim": "Ardahanlı",
   "yas": "28",
   "cinsiyet": "Erkek",
   "meslek": "Bilgisayar Mühendisi"
}

 Bu örnekte isim anahtarının değeri Ahmet, soyisim anahtarının değeri Ardahanlı vb. şeklinde tanımlanmıştır.

2. Json Dizi (array) Yapısı

Json dizileri köşeli parantezler [ ] arasında yazılır. Dizilerde anahtar-değer ilişkileri yoktur. Sadece değerleri yazarız. Değerler virgül(,) ile birbirinden ayrılır. 

[
    "değer1",
    "değer2"
]

Örnek

[
    "Ahmet",
    "Ardahanlı",
    "28",
    "Erkek",
    "Bilgisayar Mühendisi"
]

Değer(Value)

Değerler çift tırnak içinde bir string (yazı)sayıtrue (doğru)false (yanlış)null (boş değer)object (nesne) veya array (dizi) olabilir. 

3. Php de json Fonksiyonları

Bu bölümde php de kullanılan json ile ilgili olan json_encode ve json_decode fonksiyonlarını göreceğiz. 

3.1. json_encode()

Bu metot bir nesne veya diziyi json formatına dönüştürür. Aşağıdaki örnekleri inceleyelim. 

Örnek 1

Bu örnekte anahtar değerleri olmayan bir diziyi json_encode metoduyla json dizisi haline çeviriyoruz. Oluşturulan verinin string tipinde olduğuna dikkat ediniz.

$ogrenciler = array("Ahmet","Said","Hamza");
$json_dizisi = json_encode($ogrenciler);
var_dump($json_dizisi);   // string '["Ahmet","Said","Hamza"]' (length=24)
echo $json_dizisi;        // ["Ahmet","Said","Hamza"]

Örnek 2

Bu örnekte anahtar değerleri olan bir diziyi json_encode metoduyla json nesnesi haline çeviriyoruz. Oluşturulan verinin string tipinde olduğuna dikkat ediniz.

$arabalar = array(
    "araba1" => "Toyota",
    "araba2" => "Volkswagen"
);
$json_nesnesi = json_encode($arabalar);
var_dump($json_nesnesi);  // string '{"araba1":"Toyota","araba2":"Volkswagen"}' (length=41)
echo $json_nesnesi;       // {"araba1":"Toyota","araba2":"Volkswagen"}

3.2. json_decode()

Bu metot bir json verisini php dizisi veya nesneye çevirir. Eğer fonksiyona 2.parametre olarak true değeri verirsek json verisini php dizisine çevirir aksi halde nesneye çevirir. Aşağıdaki örnekleri inceleyelim.

Örnek 1

Örnekte oluşturduğumuz json verisini json_decode fonksiyonu ve true parametresiyle diziye çeviriyoruz. Daha sonra ise bu yeni oluşan dizinin elemanlarına nasıl erişebileceğimizi görüyoruz.

$json_verisi='
   {
    "isim":"Ahmet",
    "soyisim":"Ardahanlı",
    "yas":28
   }    
';
$dizi = json_decode($json_verisi,true);
echo $dizi["isim"]; // Ahmet

Örnek 2

Örnekte oluşturduğumuz json verisini json_decode fonksiyonu ile nesneye çeviriyoruz. Daha sonra ise bu yeni oluşan nesnenin elemanlarına nasıl erişebileceğimizi görüyoruz.

$json_verisi='
   {
    "isim":"Ahmet",
    "soyisim":"Ardahanlı",
    "yas":28
   }    
';
$dizi = json_decode($json_verisi);
echo $dizi->isim; // Ahmet
ETİKETLER
jsonphpjson_encodejson_decodenesnediziarrayjson kullanımıphp json kullanımıphp json_encode fonksiyonuphp json_decode fonksiyonu
Öncekİ Yazı

Görüntü işlemede logaritmik dönüşüm(logarithmic transformation)

Sonrakİ Yazı

Android ekranlar arası veri taşıma

İlgili Yazılar