PHP JSON: Encode dan Decode Data JSON

Di era aplikasi web modern, pertukaran data antar sistem sangat umum — terutama antara PHP di server dan JavaScript di browser melalui API. Format yang paling populer untuk ini adalah JSON, dan PHP menyediakan dua fungsi utama untuk mengolahnya. Inilah yang dibahas dalam PHP JSON.

Apa Itu JSON?

JSON (JavaScript Object Notation) adalah format teks ringan yang mudah dibaca manusia maupun mesin. Strukturnya mirip array asosiatif, terdiri dari pasangan kunci dan nilai. JSON menjadi bahasa standar komunikasi data di web.

Mengubah Data PHP ke JSON: json_encode()

Fungsi json_encode() mengubah array atau object PHP menjadi string JSON:

<?php
$data = array("nama" => "Budi", "umur" => 20, "aktif" => true);
echo json_encode($data);
// Output: {"nama":"Budi","umur":20,"aktif":true}
?>

Mengubah JSON ke Data PHP: json_decode()

Sebaliknya, json_decode() mengubah string JSON menjadi data PHP. Parameter kedua true membuatnya menghasilkan array asosiatif:

<?php
$json = '{"nama":"Budi","umur":20}';
$data = json_decode($json, true);
echo $data["nama"]; // Budi
?>

Tanpa parameter true, hasilnya berupa object, sehingga diakses dengan $data->nama.

Membuat Respons API Sederhana

Saat membangun API, kirim header yang tepat lalu tampilkan JSON:

<?php
header("Content-Type: application/json");
echo json_encode(array(
    "status" => "sukses",
    "data"   => array("id" => 1, "nama" => "Produk A")
));
?>

Menangani Data JSON dari Request

Untuk menerima data JSON yang dikirim aplikasi lain (misalnya lewat fetch/AJAX):

<?php
$input = json_decode(file_get_contents("php://input"), true);
echo $input["nama"];
?>

Kesalahan Umum

  • Lupa parameter true pada decode, lalu bingung mengakses hasilnya sebagai array.
  • Tidak mengirim header Content-Type saat membuat API.

Kesimpulan

Dengan PHP JSON dan dua fungsi utamanya, json_encode() dan json_decode(), Anda dapat membangun API serta bertukar data dengan front-end secara mudah dan standar.

Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *