codeigniter mengambil data JSON dari URL


Sekarang pertukaran data baik itu dekstop, mobile, web sangat mudah dilakukan dengan adanya JSON. Banyak API yang menyediakan dengan format JSON, seperti api.tiket.com, api.cekresi.com bahkan perusahaan besar semacam facebook, google, twitter juga menggunakan API.

Cangkal kali ini mencoba sharing bagaimana mengambil data JSON dari URL (website) menggunakan framework codeigniter. URL yang digunakan yaitu http://jsonplaceholder.typicode.com/posts/ . URL ini memang sengaja dibuat untuk digunakan sebagai testing. Data JSON yang diberi oleh URL tadi bentuknya seperti ini

[{
    "userId": 1,
    "id": 1,
    "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
    "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
}, {
    "userId": 1,
    "id": 2,
    "title": "qui est esse",
    "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
}, {
    "userId": 1,
    "id": 3,
    "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut",
    "body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut"
}, {
    "userId": 1,
    "id": 4,
    "title": "eum et est occaecati",
    "body": "ullam et saepe reiciendis voluptatem adipisci\nsit amet autem assumenda provident rerum culpa\nquis hic commodi nesciunt rem tenetur doloremque ipsam iure\nquis sunt voluptatem rerum illo velit"
}, {
    "userId": 1,
    "id": 5,
    "title": "nesciunt quas odio",
    "body": "repudiandae veniam quaerat sunt sed\nalias aut fugiat sit autem sed est\nvoluptatem omnis possimus esse voluptatibus quis\nest aut tenetur dolor neque"
}, 
.....
 {
    "userId": 10,
    "id": 100,
    "title": "at nam consequatur ea labore ea harum",
    "body": "cupiditate quo est a modi nesciunt soluta\nipsa voluptas error itaque dicta in\nautem qui minus magnam et distinctio eum\naccusamus ratione error aut"
}]
ok langsung saja kita coba coding
pertama kita tulis code dibawah ini pada controller Json
public function index()
{
$url="http://jsonplaceholder.typicode.com/posts/";
$get_url = file_get_contents($url);
$data = json_decode($get_url);

$data_array = array(
'datalist' => $data
);
$this->load->view('json/json_list',$data_array);
}

penjelasan dari baris function index yaitu
variable $url adalah nama atau alamat url yang menyediakan data JSON
variable $get_url adalah function php untuk mengambil konten dari url yaitu file_get_contents
setelah data diambil lalu
variable $data berfungsi sebagai merubah data json dalam bentuk object PHP, kalo mau tau bentuknya seperti apa
tambahkan code print_r $data; dibawah baris $data = json_decode($get_url);
hasilnya akan seperti ini
Array
(
    [0] => stdClass Object
        (
            [userId] => 1
            [id] => 1
            [title] => sunt aut facere repellat provident occaecati excepturi optio reprehenderit
            [body] => quia et suscipit
suscipit recusandae consequuntur expedita et cum
reprehenderit molestiae ut ut quas totam
nostrum rerum est autem sunt rem eveniet architecto
        )

    [1] => stdClass Object
        (
            [userId] => 1
            [id] => 2
            [title] => qui est esse
            [body] => est rerum tempore vitae
sequi sint nihil reprehenderit dolor beatae ea dolores neque
fugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis
qui aperiam non debitis possimus qui neque nisi nulla
        )

    [2] => stdClass Object
        (
            [userId] => 1
            [id] => 3
            [title] => ea molestias quasi exercitationem repellat qui ipsa sit aut
            [body] => et iusto sed quo iure
voluptatem occaecati omnis eligendi aut ad
voluptatem doloribus vel accusantium quis pariatur
molestiae porro eius odio et labore et velit aut
        )

    [3] => stdClass Object
        (
            [userId] => 1
            [id] => 4
            [title] => eum et est occaecati
            [body] => ullam et saepe reiciendis voluptatem adipisci
sit amet autem assumenda provident rerum culpa
quis hic commodi nesciunt rem tenetur doloremque ipsam iure
quis sunt voluptatem rerum illo velit
        )

    [4] => stdClass Object
        (
            [userId] => 1
            [id] => 5
            [title] => nesciunt quas odio
            [body] => repudiandae veniam quaerat sunt sed
alias aut fugiat sit autem sed est
voluptatem omnis possimus esse voluptatibus quis
est aut tenetur dolor neque
        )

    [5] => stdClass Object
        (
            [userId] => 1
            [id] => 6
            [title] => dolorem eum magni eos aperiam quia
            [body] => ut aspernatur corporis harum nihil quis provident sequi
mollitia nobis aliquid molestiae
perspiciatis et ea nemo ab reprehenderit accusantium quas
voluptate dolores velit et doloremque molestiae
        )

    ............

    [99] => stdClass Object
        (
            [userId] => 10
            [id] => 100
            [title] => at nam consequatur ea labore ea harum
            [body] => cupiditate quo est a modi nesciunt soluta
ipsa voluptas error itaque dicta in
autem qui minus magnam et distinctio eum
accusamus ratione error aut
        )

)
lalu
variable $data_array merubah object dalam bentuk array
dan yang terakhir $this->load->view('json/json_list',$data_array); yaitu menampilkan data dari variable $data_array ke View CI

kemudian untuk menampilkan data di view CI, tulis kode seperti ini

<?php
            $start = 0;
             foreach ($datalist as $value)
            {
                ?>
                <tr>
            <td><?php echo ++$start ?></td>
            <td><?php echo $value->userId;?></td>
            <td><?php echo $value->id; ?></td>
            <td><?php echo $value->title; ?></td>
            <td><?php echo $value->body; ?></td>
            </tr>
                <?php
            }
            ?>

ok sobat cangkal, coba di browser apakah hasilnya sama seperti gambar di bawah ini? apabila iya berarti sobat sudah berhasil menampilkan data JSON menggunakan framework codeigniter.

codeigniter ~ Json decode

apabila mengalami kesulitan bisa coba langsung source code di download di sini

https://www.4shared.com/zip/4i1Y6ahqba/jsondecode.html


regards,

cangkal



codeigniter mengambil data JSON dari URL codeigniter mengambil data JSON dari URL Reviewed by cangkal on 21.13 Rating: 5

3 komentar:

  1. alhamdulillah ini tutorial yang ane cari
    izin sedot gan.

    BalasHapus
    Balasan
    1. langsung sobat, semoga bermanfaat

      Hapus
  2. kalau misal yang mau ditampilin userId 1 aja gimana gan caranya?

    BalasHapus

penulis senang dengan adanya pembaca yang meninggalkan jejak. :)

Diberdayakan oleh Blogger.