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