JSON dengan PHP

Bab ini membahas cara menyandikan dan mendekode objek JSON menggunakan bahasa pemrograman PHP. Mari kita mulai dengan mempersiapkan lingkungan untuk memulai pemrograman kita dengan PHP untuk JSON.

Lingkungan Hidup

Mulai PHP 5.2.0, ekstensi JSON dibundel dan dikompilasi menjadi PHP secara default.

Fungsi JSON

Fungsi Perpustakaan
json_encode Menampilkan representasi JSON dari sebuah nilai.
json_decode Mendekode string JSON.
json_last_error Mengembalikan kesalahan terakhir yang terjadi.

Mengenkode JSON dalam PHP (json_encode)

Fungsi PHP json_encode () digunakan untuk encoding JSON dalam PHP. Fungsi ini mengembalikan representasi JSON dari nilai pada keberhasilan atau SALAH pada kegagalan.

Sintaksis

string json_encode ( $value [, $options = 0 ] )

Parameter

  • value- Nilai yang sedang dikodekan. Fungsi ini hanya berfungsi dengan data berenkode UTF-8.

  • options - Nilai opsional ini adalah bitmask yang terdiri dari JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT.

Contoh

Contoh berikut menunjukkan bagaimana mengubah array menjadi JSON dengan PHP -

<?php
   $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
   echo json_encode($arr);
?>

Saat menjalankan, ini akan menghasilkan hasil sebagai berikut -

{"a":1,"b":2,"c":3,"d":4,"e":5}

Contoh berikut menunjukkan bagaimana objek PHP dapat diubah menjadi JSON -

<?php
   class Emp {
      public $name = "";
      public $hobbies  = "";
      public $birthdate = "";
   }
	
   $e = new Emp();
   $e->name = "sachin";
   $e->hobbies  = "sports";
   $e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p");
   $e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03"));

   echo json_encode($e);
?>

Saat menjalankan, ini akan menghasilkan hasil sebagai berikut -

{"name":"sachin","hobbies":"sports","birthdate":"08\/05\/1974 12:20:03 pm"}

Decoding JSON dalam PHP (json_decode)

Fungsi PHP json_decode () digunakan untuk mendekode JSON dalam PHP. Fungsi ini mengembalikan nilai yang diterjemahkan dari json ke tipe PHP yang sesuai.

Sintaksis

mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

Paramaters

  • json_string - Ini adalah string yang disandikan yang harus berupa data yang dikodekan UTF-8.

  • assoc - Ini adalah parameter tipe boolean, jika disetel ke TRUE, objek yang dikembalikan akan diubah menjadi array asosiatif.

  • depth - Ini adalah parameter tipe integer yang menentukan kedalaman rekursi

  • options - Ini adalah bitmask tipe integer dari JSON decode, JSON_BIGINT_AS_STRING didukung.

Contoh

Contoh berikut menunjukkan bagaimana PHP dapat digunakan untuk mendekode objek JSON -

<?php
   $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

   var_dump(json_decode($json));
   var_dump(json_decode($json, true));
?>

Saat menjalankan, itu akan menghasilkan hasil sebagai berikut -

object(stdClass)#1 (5) {
   ["a"] => int(1)
   ["b"] => int(2)
   ["c"] => int(3)
   ["d"] => int(4)
   ["e"] => int(5)
}

array(5) {
   ["a"] => int(1)
   ["b"] => int(2)
   ["c"] => int(3)
   ["d"] => int(4)
   ["e"] => int(5)
}