JSON (“Javascript Object Notation”), php ilen okunabilen bir veri biçimidir. Php’de bir diziden
<?php $dizi=array(1=>"elma",2=>"armut"); echo json_encode($dizi); ?>
örneğindeki gibi json_encode ile dönüştürülerek oluşturulur.
Çıktısı aşağıdaki gibidir.
{
1: "elma",
2: "armut"
}
Genelde API (“Application Programming Interface = Uygulama Programlama Arayüzü”)ler tarafından kullanılır.
Curl ile bağlanılan adreslerde alınan bu veriler json_decode ile geri dizi haline çevrilir.
<?php //Daha önceki verimiz $dizi=array(1=>"elma",2=>"armut"); $API= json_encode($dizi); //Nesne ve Çıktısı $cikti=json_decode($API); print_r($cikti); //stdClass Object ( [1] => elma [2] => armut ) //Dizi ve Çıktısı $cikti=json_decode($API,true); print_r($cikti); //Array ( [1] => elma [2] => armut ) ?>
Mesela İstatistik API ile ilgili bir örnek verelim
<?php
header('Content-Type: text/html; charset=utf-8');
function PhpStatistics(){
$list=array("HTTP_HOST","REQUEST_URI","HTTP_CLIENT_IP","REMOTE_ADDR","HTTP_USER_AGENT","HTTP_ACCEPT_LANGUAGE");
foreach($list as $l){$data[$l]=$_SERVER[$l];}
$data=json_encode($data);
$ch = curl_init();
curl_setopt($ch,CURLOPT_HEADER,false);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/4.0 (compatible;)");
curl_setopt($ch,CURLOPT_URL,"http://phpstate.ulusanyazilim.com/developer/userinfo/api.php?".http_build_query(array('data'=>$data)));
return curl_exec($ch);
}
$json=PhpStatistics();
$dizi=json_decode($json);
print_r($dizi);
echo $tarayici=$dizi["agent_name"]."<br>";
echo $ip_adresi=$dizi["http_client_ip"];
?>
