PHP ile JSON veri oluşturma metotları

PHP ile adım adım JSON verisi yaratacağız.
PHP ile JSON verisi oluşturmanın ilk yolu bir dizi oluşturmaktan geçiyor. Sonra o diziye değer verip json_encode fonksiyonuyla istemciye JSON verisini yollayabiliriz.

Örneklere başayalım. En başta bir dizi oluşturalım. Diziye gireceğimiz verilere rahat ulaşmak için bir anahtar ismi girelim. Boş bir json.php sayfası oluşturalım yerel sunucumuzda. İçine şu PHP kodunu girelim (1. metot ):
// Json datasına çevrilecek diziyi anahtar ismiyle birlikte yaratalım.
$JSON["anahtar_ismi"]=array();
// Diziye bir kaç veri girelim
array_push($JSON["anahtar_ismi"],"veri 1","veri 2", "veri 3");
// İstemciye json_encode fonk. ile JSON'a çevirip yollayalım
echo json_encode($JSON);
Çıktımız:

json-veri-olusturma-metodlari-1

Bu şekilde JSON verimiz sadece bir tane diziden oluşuyor. Şimdi iki tane dizi girelim. PHP kodumuz (2. metot ):
// Json datasına çevrilecek diziyi anahtar ismiyle birlikte yaratalım.
$JSON["anahtar_ismi"]=array();
// Diziye veriyi diziler halinde  girelim
array_push($JSON["anahtar_ismi"],array("veri 1","veri 2"),array("veri 3","veri 4"));
// İstemciye json_encode fonksiyonu ile JSON'a çevirip yollayalım
echo json_encode($JSON);
Çıktımız:

json-veri-olusturma-metodlari-2

Fakat bu şekilde de bir veriye karşlık bir başlık ya da anahtar yok bu yüzden verilere ulaşmak zor olabilir. Şimdi bunu yapalım (3. metot ):
// Json datasına çevrilecek diziyi anahtar ismiyle birlikte yaratalım.
$JSON["anahtar_ismi"]=array();
// Alt diziye girilecek geçici diziyi hazırlayalım
$gecici["isim"]=array();
$gecici["soyisim"]=array();
array_push($gecici["isim"],"Ali");
array_push($gecici["soyisim"],"Tan");
// veriyi diziye girelim
array_push($JSON["anahtar_ismi"],$gecici);

// İkinci veriyi girmek için geçici diziyi boşaltıp yeni veriyi girelim.
$gecici['isim']=array();
$gecici['soyisim']=array();
array_push($gecici['isim'],"Veli");
array_push($gecici['soyisim'],"Durmus");
// veriyi diziye girelim
array_push($JSON['anahtar_ismi'],$gecici);

// İstemciye JSON dizisini json_encode fonk. ile JSON'a çevirip yollayalım
echo json_encode($JSON);
Çıktımız:

json-veri-olusturma-metodlari-3

Artık verilere anahtar ve değer ikilisiyle daha rahat oluşabiliriz. Sonraki adımda ihtiyaç duyabiliceğimiz alt anahtar şeklinde JSON dizisini yaratalım (4. metot ):
// JSON verisine çevrilecek diziyi yaratalım
$JSON["anahtar_ismi"]["alt_anahtar"]=array();
// Alt diziye girilecek geçici diziyi hazırlayalım
$gecici['isim']=array();
$gecici['soyisim']=array();

// İlk verimizi oluşturalım
array_push($gecici['isim'],"ali");
array_push($gecici['soyisim'],"tan");

// alt anahtar dizisine geçici dizimi giriyoruz
array_push($JSON['anahtar_ismi']['alt_anahtar'],$gecici);

// İkinci veriyi girmek için geçici diziyi boşaltıp yeni veriyi girelim.
$gecici['isim']=array();
$gecici['soyisim']=array();
array_push($gecici['isim'],"Veli");
array_push($gecici['soyisim'],"Durmus");

array_push($JSON['anahtar_ismi']['alt_anahtar'],$gecici);

// İstemciye JSON dizisini json_encode fonk. ile JSON'a çevirip yollayalım
echo json_encode($JSON);
Çıktımız:

json-veri-olusturma-metodlari-4

Gördüğünüz üzere JSON verisini istediğimiz gibi anahtar ve değer ikilisiyle düzenleyebiliyoruz. İstediğimiz kadar alt anahtar oluşturma özgürlüğüne sahibiz. En son örneği Jquery ile kullanmak isteseydik Jquery kodumuz şöyle oldurdu:
  $.getJSON("json.php",
        function(data){
          $.each(data.anahtar_ismi.alt_anahtar, function( i, alt_anahtar ){
            $("body").append( " "+alt_anahtar.isim +" "+alt_anahtar.soyisim +"
" ); }); });
Çıktımız da şöyle olurdu:

json-veri-olusturma-metodlari-5

Umarım yazı ihtiyacı olanlara faydalı olmuştur.
yazan Zülküf Küçüközer tarih   31st August 2009
primary key words  Php | Json | Veri oluşturma okunma  15249
secondary key words  Jsonencode
writing osman writing 19th July 2010
teşekkürler
writing gereksiz writing 22nd April 2011
çok şık bir anlatım olmuş fevkalade.
writing mutkan writing 19th June 2012
Tesekkurler yazı için.
writing mesut writing 2nd April 2013
sade bir anlatim teskkürler
writing emre writing 28th July 2013
tesekkürler bilgi için.
writing PHPR writing 5th October 2013
Gayet yararli bir bilgi. Özellikle javascript ile çalisirken isime yarayacak.
writing irmak writing 27th July 2015
hocam tam aradigim bilgiydi tesekkürler