Cara membuat file json dari php

30/11/2015    Ekky Ridyanto    13116    Website

Cara membuat file json dari php

Hai semuanya bertemu lagi dengan saya di dumetschool.com. Pada pertemuan kali ini kita akan belajar mengenai tentang JSON atau Javascript Objek Nation. JSON ini adalah format data yang sangat mudah dibaca oleh manusia atau mesin karena sintaksnya benar-benar mudah. Nanti kita akan lihat dan memberikan contoh sederhana dalam penggunaan format data JSON. Yang perlu teman teman perhatikan JSON ini bukan database tapi jangan kwatir JSON ini bisa kita gunakan untuk berkomunikasi dengan database yang kita buat. Meskipun namanya Javascript Object Nation tetapi JSON ini tidak bergantung pada Javascript melainkan bisa digunakan untuk semua bahasa pemrograman yang kita kenal termasuk PHP. Lalu keuntungan menggunakan JSON itu sendiri yaitu Pertama ringan dimana sintaksnya mudah dan secara otomatis data yang diproses juga akan cepat.
dan yang kedua untuk tipe datanya juga sangat flexsibel yang dimana kita sudah mengenal dibahasa pemrograman ada string untuk huruf,  ada Integer untuk angka,  dan ada array untuk menampung banyak data dan itu semua kita bisa gunakan pada JSON. Langsung ke contohnya dimulai dengan buka tutup kurung kurawal lalu ada pasangan key dan value sebagai berikut

teman teman jika pernah belajar dengan array dan ini mirip ada no indexnya disebelah kiri dan ikuti dengan nilai valuenya berdasarkan tipe data yang dimasukkan. Oke sekian dulu untuk pembahasan tentang JSON. Sampai jumpa pada artikel berikutnya

No data.

Cara membuat file json dari php

Nurul Huda 1 March 2020


  1. Beranda
  2. Web
  3. PHP
  4. PHP Menengah
  5. PHP: Bekerja Dengan JSON

Cara membuat file json dari php

  • PHP
  • PHP Menengah

Daftar Isi

    • Apa Itu JSON?
    • Parsing JSON String ke PHP
    • Membuat JSON Dengan PHP
    • Melakukan Perulangan JSON
    • Latihan: Menampilkan Berita Dari NewsAPI.org
    • Kesimpulan
    • Pembahasan Selanjutnya

Apa Itu JSON?

JSON adalah singkatan dari Javascript Object Notation.

Ia merupakan tipe data object pada bahasa pemrograman javascript. Struktur datanya jelas dan sederhana, serta mudah dibaca baik oleh mesin mau pun manusia.

Oleh karena itu, JSON merupakan cara standar untuk berkomunikasi antar dua bahasa pemrograman yang berbeda.

Bentuk penyusun utama data JSON ada 2, yaitu:

  • Objek: didefinisikan dengan tanda kurung kurawal ({})
  • Array: didefinisikan dengan tanda kurung siku ([])

Perhatikan contoh berikut:

{
  "nama": "Nurul Huda",
  "domisili": "Surabaya",
  "usia": 23,
  "wni": true,
  "hobi": [
    "Berenang", "Berlari", "Bertamasya"
  ]
}

Data JSON di atas bertipe objek karena ia diapit oleh tanda kurung kurawal ({}). Dan di dalam objek tersebut terdapat 5 buah key atau data, yaitu: nama, domisili bertipe data string, usia bertipe data integer, wni bertipe data boolean, dan hobi bertipe data array.

Tidak harus selalu datang dalam bentuk objek, struktur data JSON bisa datang dalam bentuk array:

[
  { "nama": "Nurul Huda" },
  { "nama": "Renza Ilhami Risqi" },
  { "nama": "Taufan Aji" },
  { "nama": "Rahmad Dwi Oktanto" }
]

Pada contoh JSON di atas, ia adalah array yang memiliki 4 buah item. Kenapa array? Karena ia diapit oleh tanda kurung siku ([]). Masing-masing item dari array tersebut adalah objek, karena masing-masing itemnya diapit oleh tanda kurung kurawal ([]).

Parsing JSON String ke PHP

Secara kasat mata jika kita perhatikan struktur data JSON, kita akan dapati bahwa:

  • ia sangat mirip dengan struktur array asosiatif pada PHP jika datang dalam bentuk objek (yaitu dengan tanda kurung kurawal)
  • dan ia sangat mirip dengan struktur array terindeks pada PHP jika datang dalam bentuk array (yaitu dengan tanda kurung siku)

Pertanyaannya: jika kita memiliki suatu data JSON dalam bentuk string, lalu kita akan membacanya dalam PHP, bagaimana caranya?

Caranya adalah: menggunakan fungsi bawaan PHP bernama json_decode.

1. Parsing JSON ke Array PHP

Kita harus perhatikan:

  • jika objek JSON yang akan kita parsing ternyata dalam bentuk array: maka hasil konversinya akan berupa array pula.
  • Sedangkan jika data JSON yang akan kita parsing ternyata dalam bentuk objek, maka hasil konversinya (secara asal) adalah dalam bentuk objek (instan dari kelas stdClass)

Perhatikan contoh berikut:

<?php

$dataJson = "[5, 3, 4, 2, 1]";

$data = json_decode($dataJson);

echo implode(" - ", $data);

Perintah di atas akan menghasilkan output seperti berikut:

Baca juga: Manipulasi Array Pada PHP

2. Parsing JSON ke Objek PHP

Kita coba masuk ke contoh yang kedua: jika ternyata objek JSON yang akan kita parsing datang dalam bentuk objek. Maka PHP (secara asal) akan mengkonversi data tersebut ke dalam objek juga. Lebih tepatnya ke dalam instan dari stdClass.

Perhatikan contoh berikut:

<?php

$json = '{
  "nama": "Nurul Huda",
  "domisili": "Surabaya",
  "usia": 23,
  "wni": true,
  "hobi": [
    "Berenang", "Berlari", "Bertamasya"
  ]
}';

$mahasiswa = json_decode($json);

echo "Nama: {$mahasiswa->nama} <br>";
echo "Domisili: {$mahasiswa->domisili} <br>";

echo "Hobi: " . implode(", ", $mahasiswa->hobi);

Jika program di atas dijalankan, maka akan menghasilkan output seperti berikut:

Nama: Nurul Huda
Domisili: Surabaya
Hobi: Berenang, Berlari, Bertamasya

Membuat JSON Dengan PHP

Jika kita ingin membuat data dalam bentuk JSON, kita bisa menggunakan fungsi bawaan PHP bernama json_encode. Fungsi tersebut adalah kebalikan dari fungsi json_encode: yaitu ia akan mengubah data objek atau array dalam PHP menjadi data dalam bentuk JSON.

Perhatikan contoh berikut:

<?php

$mahasiswa = [
  'nama' => 'Nurul Huda',
  'domisili' => 'Surabaya'
];

echo json_encode($mahasiswa);

Kode program di atas akan menghasilkan string JSON sebagaimana berikut:

{"nama":"Nurul Huda","domisili":"Surabaya"}

Atau untuk contoh array terindeks:

<?php

$nilaiUjian = [70, 80, 50, 90];

echo json_encode($nilaiUjian);

Maka kode program di atas akan menghasilkan output:

Melakukan Perulangan JSON

Misalkan anda memiliki string JSON sebagai berikut:

<?php

$listMahasiswaJSON = '[
  { "nama": "Nurul Huda" },
  { "nama": "Renza Ilhami Risqi" },
  { "nama": "Taufan Aji" },
  { "nama": "Rahmad Dwi Oktanto" }
]';

Lalu anda ingin menampilkan nama dari setiap data di atas. Caranya sangat sederhana sekali:

  1. Pertama anda parsing dulu JSON tersebut ke dalam array PHP
  2. Lalu lakukan perulangan dengan foreach atau metode perulangan yang lainnya

Perhatikan kode program berikut:

<?php

$listMahasiswaJSON = '[
  { "nama": "Nurul Huda" },
  { "nama": "Renza Ilhami Risqi" },
  { "nama": "Taufan Aji" },
  { "nama": "Rahmad Dwi Oktanto" }
]';

$listMahasiswa = json_decode($listMahasiswaJSON);

foreach ($listMahasiswa as $key => $mahasiswa) {
  echo "{$key}. Nama: {$mahasiswa->nama} <br>";
}

Output:

0. Nama: Nurul Huda
1. Nama: Renza Ilhami Risqi
2. Nama: Taufan Aji
3. Nama: Rahmad Dwi Oktanto

Latihan: Menampilkan Berita Dari NewsAPI.org

Telah kita singgung di atas bahwa JSON biasa digunakan sebagai standar pertukaran data dari 2 aplikasi yang berbeda. Bahkan jika keduanya berbeda bahasa pemrograman sekalipun.

Sebagai gambaran, kita akan coba menampilkan data berita yang disediakan oleh newsapi.org. Data yang disediakan berupa JSON. Kita akan menampilkannya dengan PHP.

Langkah-langkah:

  1. Daftar akun newsapi.org untuk mendapatkan API_KEY

  2. Perhatikan struktur data JSON dari URL berikut:

    http://newsapi.org/v2/everything?q=corona&language=en&from=2020-02-01&sortBy=publishedAt&apiKey=API_KEY
    

    Jangan lupa ganti API_KEY dengan api key akun anda.

  3. Berikut ini adalah penampakan struktur datanya:

  4. Deklarasikan variabel-variabel:

    <?php
    
    $kataKunci = "corona";
    $from = "2020-02-01";
    $sortBy = "publishedAt";
    $apiKey = ""; /* <-- Silakan register di newsapi.org untuk mendapatkan API_KEY */
    $language = "en";
    $alamatAPI = "http://newsapi.org/v2/everything?" .
        "q={$kataKunci}&language={$language}&from={$from}" .
        "&sortBy={$sortBy}&apiKey={$apiKey}";
    

  5. Ambil data dengan fungsi file_get_contents lalu parsing dengan perintah json_decode:

    <?php
    # ambil data json dari $alamatAPI
    $data = file_get_contents($alamatAPI);
    # parsing variabel $data ke dalam array
    $dataBerita = json_decode($data);
    

  6. Tampilkan data dengan melakukan perulangan foreach:

    <?php
    
    if ($dataBerita->status === "ok") {
        # tampilkan menggunakan perulangan
        foreach ($dataBerita->articles as $berita) {
            echo "<h3><a href='{$berita->url}'>{$berita->title}</a></h3>";
    
            if ($berita->urlToImage) {
                echo "<img style='width: 10rem' src='{$berita->urlToImage}'>";
            }
    
            echo "<p>{$berita->description}</p>";
            echo "<hr>";
        }
    }
    

Dari langkah-langkah di atas, berikut adalah hasil yang saya dapatkan:

Kesimpulan

JSON adalah struktur data bawaan dalam bahasa pemrograman javascript. Akan tetapi karena ia memiliki struktur yang sederhana dan mudah, ia dijadikan sebagai standar untuk perturakan data antar 2 aplikasi yang berbeda bahkan antar 2 bahasa pemrograman yang berbeda.

Dalam PHP: kita bisa mem-parsing JSON dengan perintah json_decode dan kita bisa membuat JSON dengan perintah json_encode.

Pembahasan Selanjutnya

Dalam pembahasan selanjutnya, insyaallah kita akan membahas tentang jenis-jenis error dalam PHP dan juga cara menanganinya.

Pemrograman PHP: Pemula Sampai Mahir.

Belajar pemrograman PHP dari pemula sampai mahir disertai studi kasus. Materi akan selalu di-update secara berkala.

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 itu JSON dan contohnya?

JSON (dilafalkan "Jason"), singkatan dari JavaScript Object Notation (bahasa Indonesia: notasi objek JavaScript), adalah suatu format ringkas pertukaran data komputer. Formatnya berbasis teks dan terbaca-manusia serta digunakan untuk merepresentasikan struktur data sederhana dan larik asosiatif (disebut objek).

JSON parse buat apa?

JSON.parse() dapat mengambil fungsi sebagai argumen kedua yang dapat mengubah nilai objek sebelum mengembalikannya.