Ketika halaman web berkomunikasi dengan server tanpa memuat ulang (AJAX), atau ketika aplikasi ponsel mengambil data dari server, format yang paling umum dipakai adalah JSON. Artikel ini membahas cara membuat dan membaca JSON di PHP.
Mengubah Data PHP Menjadi JSON
<?php
$data = ["nama" => "Budi", "umur" => 25, "aktif" => true];
echo json_encode($data);
// {"nama":"Budi","umur":25,"aktif":true}
?>
Contoh Kasus: Membuat API Sederhana
Saat membuat endpoint yang diakses lewat AJAX, kirim header yang tepat lalu keluarkan JSON:
<?php
header("Content-Type: application/json");
$produk = [
["id" => 1, "nama" => "Kopi"],
["id" => 2, "nama" => "Teh"]
];
echo json_encode($produk);
?>
Membaca JSON Menjadi Data PHP
<?php
$json = '{"nama":"Budi","umur":25}';
$obj = json_decode($json); // sebagai objek
echo $obj->nama; // "Budi"
$arr = json_decode($json, true); // sebagai array asosiatif
echo $arr["nama"]; // "Budi"
?>
Parameter kedua true menentukan apakah hasilnya berupa array asosiatif atau objek.
Menangani JSON dari Aplikasi Klien
<?php
$masukan = json_decode(file_get_contents("php://input"), true);
if (json_last_error() !== JSON_ERROR_NONE) {
echo "JSON tidak valid";
}
?>
Kesalahan Umum
- Lupa mengirim header
Content-Type: application/jsonpada endpoint API. - Tidak memeriksa
json_last_error()sehingga data rusak lolos begitu saja. - Teks non-UTF-8 membuat
json_encode()mengembalikanfalse.
Kesimpulan
Gunakan json_encode() untuk mengirim data dan json_decode() untuk membacanya. Saat membuat API, sertakan header JSON yang benar dan selalu periksa json_last_error() untuk menangani data yang cacat.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

