Java Scipt ve PHP ile JSON Kullanımı
Herkese merhaba bu yazıda sizlere JSON nedir ve Java Script ve PHP ile nasıl kullanılır ondan bahsedeceğim. İlk olarak bilmemiz gereken konu JSON nedir ve ne değildir konusudur...JSON Nedir?
- Açılımı Java Script Object Notationdur.(Javascript nesne grubu)
- Çok Hızlı Bir veri taşıma sistemidir.
- Herhangi bir dile bağmlı değildir.
- Anlaşılması oluşturulması ve yazılması kolaydır.
JSON bir dizi şeklidir adında geçen JavaScript ifadesi onun o mantıkla hazırlandığını gösterir. JSON her dilde kullanılabilir bir sistemdir
{
"dersler":
[
{"ders":"Java", "hoca":"Burak"},
{"ders":"CSharp", "hoca":"Hamdi"},
{"ders":"SQL", "hoca":"Tufan"}
]
}
JSON veriler oluşturulurken aşağıdaki kurallara dikkat etmemiz gerekmekteidr.
- JSON veriler isim - Değer çiftlerinden oluşur
- Oluşturulan bu isim - değer çiftleri virgül ile ayrılır
-Köşeli parantezler ise süslü parantezleri yani dizileri tutar.
Şimdi Bunları sırayla inceleyelim
Bunu bir nevii özellik - değer şeklinde düşünebiliriz.
"isim" : "Burak"
Örnek bir JSON isim deger çiftidir.
{
"isim" : "Burak Hamdi",
"soyisim" : "TUFAN"
}
{
"dersler":
[
{"ders":"Java", "hoca":"Burak"},
{"ders":"CSharp", "hoca":"Hamdi"},
{"ders":"SQL", "hoca":"Tufan"}
]
}
Yukarıda gördüğümüz üzere köşeliparantezler ile dizileri tutuyoruz ve onları tekrardan bir json dizinin içinde tutuyoruz. Dersler dizisinin altında ders adları ve hocalarının isimlerini tuttuk. Dersleride bir JSON nesnesiymiş gibi bir JSON dizisinin içinde tuttuk.
JSON veriyi Java Sciprt ile okurken JSON.parse metoduyla okuyabiliriz. PHP ile JSON Kullanımı
Öncelikle PHP 5.2 den sonra JSON veriler direk olarak PHP içinde okunabilmekte. Bunu bilmemiz gerekiyor daha alt versiyonlarda çalışmaz.
İlk olarak PHP içindeki JSON fonksiyonlarına bakalım.
json_encode : Hazırlanan bir diziyi JSON formatında yazmamıza yarar
json_last_error : JSON fonksiyonu ile ilgili bir işlem yaparken hata varmı yokmu kontrolünü yapar
json_decode : Var olan bir JSON diziyi decode edip PHP nin anlayacağı hale getirir.
JSON_ENCODE metodu :
Bu fonksiyon ile hazırlanan bir diziyi JSON formatına dönüştürebiliriz. Kullanımı ise çok basittir
<?php
$json = array('ad' => 'Burak', 'Soyad' => 'Tufan', 'Okul' => 'KOU', 'Bolum' => 'UEE');
echo json_encode($json);
?>
JSON_DECODE metodu:
Bu fonksiyon ile var olan bir JSON diziyi decode edip anlayabilmemizi sağlarız. Yani JSON veriyi okuruz
<?php
$json = array('ad' => 'Burak', 'Soyad' => 'Tufan', 'Okul' => 'KOU', 'Bolum' => 'UEE');
$json_cikti = (json_decode($json));
$json_cikti = (json_decode($json, true));
?>
Örnek bir PHP dosyamız olsun ve bu dosya ajax kullanarak başka bir php sayfadan JSON veri alsın ve bunu ekrana yazıdrsın ilk olarak PHP ile arka sayfada JSON veriyi oluşturalım sonrada ajaxx ile önden veriyi çağıralım sonra parse edelim ve ekrana yazdıralım.
<?php
$id="";
if($_POST['id'] =="") {echo ""; return;} else {$id=($_POST['id']); }
if($id!= "0")
{
include('sql_baglanti.php');
$sorgu = mysql_query("select * from ogrenciler where id='$id'");
while ($oku = mysql_fetch_array($sorgu)) {
$sonuc = array('numara' => $oku["no"] ,
'ad' => $oku["ad"],
'soyad' => $oku["soyad"],
'sinif' => $oku["sinif"]);}
echo json_encode($sonuc);
}
}
?>
Bu şekilde bu sayfaya post edilen verileri okuduk ve o verilere göre JSON şeklinde çıktı verdik. Şimdide ön tarafta post etmeyi ve gelen veriyi okumayı görelim ve yazımızı bitirelim...
var degerler="id=" + ogr_id;
$.ajax({
type: "post",
url: "ogrenci_detay.php",
data : degerler,
success : function(cevap){
//burda JSON ile gelen verileri yok etmemiz gerekir yoksa JSON veri bozulabilir.
cevap = cevap.replace('<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">', '');
cevap = cevap.replace('n','');
var json = cevap;
var obj = JSON.parse(json);
document.getElementById('ad').innerHTML = obj.ad;
document.getElementById('soyad').innerHTML = obj.soyad;
document.getElementById('sinif').innerHTML = obj.sinif;
document.getElementById('numara').innerHTML = obj.numara;
}
});
Gördüğünüz üzere PHP ile Java Script arasında Ajax Kullanarak JSON nesne taşıdık ve ön sayfada verilerimizi yazdırmış olduk.
Bu yazımızda bu kadar -- Takipte Kalın
Burak Hamdi TUFAN
Comments