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"]; ?>