Tutorial parsing json dengan PHP & cURL

Thursday, September 8, 2016


Hai, Pernah liat struktur code kaya dibawah ini?

{
    "as": "AS23700 Linknet-Fastnet ASN",
    "city": "Jakarta",
    "country": "Indonesia",
    "countryCode": "ID",
    "isp": "Fastnet",
    "lat": -6.1744,
    "lon": 106.8294,
    "org": "Fastnet",
    "query": "111.94.51.27",
    "region": "JK",
    "regionName": "Jakarta",
    "status": "success",
    "timezone": "Asia\/Jakarta",
    "zip": ""
}

Yaaaa, it's JSON, JavaScript Object Notation, kali ini, saya bakalan bahas tentang JSON tapi bukan JSON itu sendiri, melainkan Cara Parse JSON dengan PHP & cURL :) .

Biasanya JSON digunakan untuk result dari sebuah API / Rest API, Ya kali ini saya juga mencotohkanya dalam sebuah API dari http://ip-api.com ip-api bisa kalian gunakan untuk mendapatkan data geo dari client yang mengakses app kalian, misal ip address, country , city, ISP dan lainya.

index.php

Kali ini, kita akan menepatkanya dalam 1 buah file PHP yaitu index.php pertama, kita akan membuat function untuk mengirim request ke ip-api.com

<?php

function getApi($ip) {
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, "http://ip-api.com/json/" . $ip);
  /*
  ip hanya opsional, mengirim request tanpa memberi ip address juga bisa
  misalnya ...
  curl_setopt($ch, CURLOPT_URL, "http://ip-api.com/json/");
  seperti diatas juga bisa :)
  */
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
  $result = curl_exec($ch);
  return $result;
}

Kalian sudah bisa mencoba functionya, silahkan di test :D

Setelah itu, kita akan



Emoticon