Cara menggunakan php access json property

Ditulis: 1 November 2017

Cara menggunakan php access json property

Seiring dengan semakin populernya API (Application Programming Interface), kita dituntut untuk dapat membuat dan memanipulasi JSON menggunakan PHP.

Saat ini hampir semua API modern menggunakan standar arsitektur REST dan mereka memberikan respons sebagai JSON. Oleh karena itu pengetahuan tentang JSON sangat penting bagi programmer maupun developer.

JSON merupakan singkatan dari JavaScript Object Notation, yaitu suatu format yang merepresentasikan struktur data sederhana dan larik asosiatif (objek) dan sering digunakan untuk pertukaran data.

Karena itulah kali ini kita akan belajar bagaimana membuat dan memanipulasi (create, read, update, delete) JSON menggunakan PHP.

1. Persiapan

Buatlah sebuah folder project baru dan beri nama, misalnya latihan. Kemudian buat file baru bernama create.php. Pada tahap berikutnya kita akan menggenerate sebuah JSON menggunakan script PHP.

2. Membuat file JSON

Buka file create.php yang sudah kita buat tadi lalu isi dengan kode di bawah ini dan simpan.

php
// Data 1
$data [] = array(
    'no'     => 1,
    'nama'   => 'Rudi',
    'alamat' => 'Nganjuk'
);

// Data 2
$data [] = array(
    'no'     => 2,
    'nama'   => 'Dian',
    'alamat' => 'Madiun'
);

// Mengencode data menjadi json
$jsonfile = json_encode($data, JSON_PRETTY_PRINT);

// Menyimpan data ke dalam anggota.json
file_put_contents('anggota.json', $jsonfile);

Buka browser dan ketikan:

http://localhost/latihan/create.php

Jika pada browser tidak muncul error dan dalam folder latihan muncul file baru bernama anggota.json, maka kita telah berhasil membuat sebuah JSON menggunakan PHP.

Berikut merupakan JSON yang berhasil kita buat.

[
    {
        "no": 1,
        "nama": "Rudi",
        "alamat": "Nganjuk"
    },
    {
        "no": 2,
        "nama": "Dian",
        "alamat": "Madiun"
    }
]

Pada tahap berikutnya kita akan menampilkan data dari JSON yang baru kita buat tadi yaitu anggota.json. Namun sebelum itu mari kita bahas beberapa bagian dari kode di atas yang menurut saya cukup penting.

Penjelasan:

  • json_encode() berfungsi untuk mengencode data berupa array menjadi JSON.

  • JSON_PRETTY_PRINT berfungsi untuk membuat tampilan data JSON hasil encode menjadi rapi dan lebih mudah untuk dibaca.

  • file_put_contents() berfungsi untuk membuat file baru (jika belum ada) dan menyimpan data.

  • anggota.json adalah nama file yang akan digunakan untuk menyimpan data JSON. Nama ini bisa kita ganti sesuka hati.

3. Menampilkan data dari JSON

Setelah file anggota.json berhasil dibuat, kita akan menampilkan isinya. Untuk menampilkan data dari JSON, kita akan menggunakan foreach().

Buat file baru bernama read.php lalu isi dengan kode berikut dan simpan.

php
// File json yang akan dibaca (full path file)
$file = "anggota.json";

// Mendapatkan file json
$anggota = file_get_contents($file);

// Mendecode anggota.json
$data = json_decode($anggota, true);

// Membaca data array menggunakan foreach
foreach ($data as $d) {
    echo $d['no']. "
"
;
echo $d['nama']. "
"
;
echo $d['alamat']. "
"
;
}

Kemudian buka browser dan ketikan:

http://localhost/latihan/read.php

Jika berhasil akan tampil seperti ini:

Cara menggunakan php access json property
Hasil crud json

Penjelasan:

  • file_get_contents() berfungsi untuk membaca JSON menjadi string.

  • json_decode berfungsi untuk mendecode anggota.json menjadi array.

4. Menambahkan data ke JSON

Setelah berhasil menampilkan data dari JSON, kita lanjutkan dengan menyisipkan data anggota baru ke anggota.json.

Buat file bernama insert.php lalu Isi dengan kode di bawah ini dan simpan.

php
// File json yang akan dibaca
$file = "anggota.json";

// Mendapatkan file json
$anggota = file_get_contents($file);

// Mendecode anggota.json
$data = json_decode($anggota, true);

// Data array baru
$data [] = array(
    'no'     => 3,
    'nama'   => 'Bayu',
    'alamat' => 'Kediri'
);

// Mengencode data menjadi json
$jsonfile = json_encode($data, JSON_PRETTY_PRINT);

// Menyimpan data ke dalam anggota.json
$anggota = file_put_contents($file, $jsonfile);

Buka browser dan ketikan:

http://localhost/latihan/insert.php

File anggota.json akan menjadi seperti ini:

[
    {
        "no": 1,
        "nama": "Rudi",
        "alamat": "Nganjuk"
    },
    {
        "no": 2,
        "nama": "Dian",
        "alamat": "Madiun"
    },
    {
        "no": 3,
        "nama": "Bayu",
        "alamat": "Kediri"
    }
]

5. Memperbarui data JSON

Sekarang kita akan memperbarui salah satu data pada anggota.json. Kita pilih nomor 2 yaitu Dian. Kita akan mengganti alamatnya dari Madiun menjadi Surabaya.

Buat file baru bernama update.php dan isi dengan kode di bawah ini lalu simpan.

php
// File json yang akan dibaca
$file = "anggota.json";

// Mendapatkan file json
$anggota = file_get_contents($file);

// Mendecode anggota.json
$data = json_decode($anggota, true);

// Membaca data array menggunakan foreach
foreach ($data as $key => $d) {
    // Perbarui data kedua
    if ($d['no'] === 2) {
        $data[$key]['alamat'] = 'Surabaya';
    }
}

// Mengencode data menjadi json
$jsonfile = json_encode($data, JSON_PRETTY_PRINT);

// Menyimpan data ke dalam anggota.json
$anggota = file_put_contents($file, $jsonfile);

Buka browser dan ketikkan:

http://localhost/latihan/update.php

Sekarang alamat anggota bernama Dian berubah menjadi Surabaya.

[
    {
        "no": 1,
        "nama": "Rudi",
        "alamat": "Nganjuk"
    },
    {
        "no": 2,
        "nama": "Dian",
        "alamat": "Surabaya"
    },
    {
        "no": 3,
        "nama": "Bayu",
        "alamat": "Kediri"
    }
]

Penjelasan:

  • Angka 2 menunjukkan data nomor berapa yang akan kita perbarui

  • $key pada kode $data[$key]['alamat'] = 'Surabaya'; merupakan index array data yang akan kita perbarui

6. Menghapus data dari JSON

Terakhir kita akan menghapus data pada anggota.json. Kita pilih data ke 2 yaitu Dian.

Buat lagi file bernama delete.php dan isi dengan kode di bawah ini lalu simpan.

php
// File json yang akan dibaca
$file = "anggota.json";

// Mendapatkan file json
$anggota = file_get_contents($file);

// Mendecode anggota.json
$data = json_decode($anggota, true);

// Membaca data array menggunakan foreach
foreach ($data as $key => $d) {
    // Hapus data kedua
    if ($d['no'] === 2) {
        // Menghapus data array sesuai dengan index
        // Menggantinya dengan elemen baru
        array_splice($data, $key, 1);
    }
}

// Mengencode data menjadi json
$jsonfile = json_encode($data, JSON_PRETTY_PRINT);

// Menyimpan data ke dalam anggota.json
$anggota = file_put_contents($file, $jsonfile);

Buka browser lalu ketikkan:

http://localhost/latihan/delete.php

Sekarang data nomor 2 sudah tidak ada lagi.

[
    {
        "no": 1,
        "nama": "Rudi",
        "alamat": "Nganjuk"
    },
    {
        "no": 3,
        "nama": "Bayu",
        "alamat": "Kediri"
    }
]

Penjelasan:

  • array_splice() berfungsi untuk menghapus array yang terpilih dan menggantinya dengan elemen baru

  • $key menunjukkan posisi index array data yang akan dihapus

Cukup mudah bukan?

Tutorial di atas dapat dikembangkan menjadi lebih kompleks sesuai dengan kebutuhan.

Source code dari tutorial ini bisa didapatkan di sini.

Kategori: php

Apa itu JSON di PHP?

JSON merupakan singkatan dari JavaScript Object Notation. JSON sendiri dapat diartikan dengan turunan JavaScript yang digunakan dalam transfer dan penyimpanan data yang fungsinya untuk memfasilitasi pertukaran data antar bahasa pemrograman.

Apa 2 struktur pembentuk JSON?

JSON terbuat dari dua struktur: Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.

Kenapa menggunakan JSON?

JSON merupakan format yang menyimpan informasi terstruktur dan biasanya digunakan untuk mentransfer data antara server dengan klien. File tersebut biasanya lebih simpel sekaligus lebih ringan dan file ini merupakan alternatif dari XML (Extensive Markup Language) yang memiliki fungsi sama seperti JSON.

Bahasa apa saja yang bisa membaca JSON?

JSON juga tidak hanya dapat digunakan dengan JavaScript. Berikut ini adalah beberapa bahasa pemrograman lain yang mendukung penggunaan format tersebut:.
Python..