Hàm json_decode() trong PHP
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