Hàm json_decode

Hàm json_decode được dùng để mã hoá các chuỗi JSON về dạng kiểu dữ liệu đối tượng object hoặc mảng.

Hàm json_decode được giới thiệu trong phiên bản PHP 5.2.0.

Chuyển Đổi Chuỗi JSON Về Kiểu Dữ Liệu Đối Tượng Object

$jsonString = '{ "lang": "PHP", "type": "scripting", "birthYear": "1995" }';

$obj = json_decode($jsonString);

var_dump($obj);

Kết quả trả về khi chạy đoạn mã trên:

object(stdClass)#1 (3) {
  ["lang"]=>
  string(3) "PHP"
  ["type"]=>
  string(9) "scripting"
  ["birthYear"]=>
  string(4) "1995"
}

Chuyển Đổi Chuỗi JSON Về Kiểu Dữ Liệu Mảng

Để trả về kiểu mảng sau khi mã hoá, bạn cần thêm vào đối số thứ hai với giá trị là true khi gọi hàm:

$jsonString = '{ "lang": "PHP", "type": "scripting", "birthyear": "1995" }';

$arr = json_decode($jsonString, true);
var_dump($arr);

Kết quả trả về:

array(3) {
  ["lang"]=>
  string(3) "PHP"
  ["type"]=>
  string(9) "scripting"
  ["birthYear"]=>
  string(4) "1995"
}

Giá Trị Trả Về

Trường hợp gặp lỗi hoặc không thể mã hoá được chuỗi JSON đầu vào thì hàm json_decode sẽ trả về giá trị là NULL.

$invalidJsonString= "Hello";
$result = json_decode($invalidJsonString);
var_dump($result); // NULL
Content must not be empty

Related Tutorial