Php curl ile json veri çekme

Curl ile uzak konumdan kolaylıkla veriler çekebiliriz. Api ler oluşturabiliriz, Örneğin farklı bir web sitesindeki sorgulamayı, Curl ile sorgulayabilir ve bu sorgulamayı sanki biz yapıyormuşuz gibi kullanıcıya gösterebiliriz. jsonplaceholder.typicode.com web sitesinden kendinize fazlasıyla örnek json dosyaları bulabilirsiniz. 

Veri Çekme

İlk olarak Curl ile jsonplaceholder.typicode.com/user adresindeki kullanıcı isimli json dosyasından örnek kullanıcıları çekeceğiz. 

$cURL = curl_init();     
curl_setopt_array($cURL,
    [
        CURLOPT_URL => 'https://jsonplaceholder.typicode.com/users',
        CURLOPT_SSL_VERIFYPEER => FALSE,
        CURLOPT_RETURNTRANSFER => 1
    ]);     
$x = curl_exec($cURL);     
curl_close($cURL);

print_r($x);

Uzaktan çektiğimiz veriyi ekrana yazdırdığımız zaman belirli bir düzende olmadığını ve veriyi işleyemediğimizi fark edeceksiniz. Veriyi tekrar json formatına dahil etmek için

json_decode()
fonksiyonu ile veriyi yapısal olarak json formatına çeviriyoruz. İkince parametre olarak, true değerini kullanırsak Veriyi diziymiş gibi müdahale etmemiz gerekecek ve elimizde json yapısında bazı değerlere ulaşamıyor olacağız bu nedenle false olarak kullanım sağlıyoruz.

$data = json_decode($x, FALSE);
echo "<pre>";
print_r($data[1]);

Yukarıdaki örnekte data içerinden veri çekerken diziymiş gibi davranmamızın sebebi user json dosyasını incelediğinizde birden fazla kullanıcının olduğu göreceksiniz. Ve bu kullanıcılara erişim indis numaraları ile sağlanabilir. 

user içerisinde bir kullanıcının name ine ulaşmak için

$data = json_decode($x, FALSE);
echo "<pre>";
print_r($data[1]->name);

Yukarıdaki gibi ulaşım sağlayabiliriz.