PHP và JSON
JSON là gì?
JSON là viết tắt của Ký hiệu đối tượng JavaScript và là một cú pháp để lưu trữ và trao đổi dữ liệu.
Vì định dạng JSON là định dạng dựa trên văn bản nên nó có thể dễ dàng được gửi đến và đi từ máy chủ và được bất kỳ ngôn ngữ lập trình nào sử dụng làm định dạng dữ liệu.
PHP và JSON
PHP có một số hàm dựng sẵn để xử lý JSON.
Đầu tiên chúng ta sẽ xem xét hai hàm sau:
- json_encode()
- json_decode()
PHP - json_encode()
Hàm json_encode() được sử dụng để mã hóa một giá trị sang định dạng JSON.
Ví dụ
Ví dụ này cho thấy cách mã hóa một mảng kết hợp thành một đối tượng JSON:
<?php
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
echo json_encode($age);
?>
Chạy ví dụ »Ví dụ
Ví dụ này cho thấy cách mã hóa một mảng được lập chỉ mục thành một mảng JSON:
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo json_encode($cars);
?>
Chạy ví dụ » PHP - json_decode()
Hàm json_decode() được sử dụng để giải mã một đối tượng JSON thành một đối tượng PHP hoặc một mảng kết hợp.
Ví dụ
Ví dụ này giải mã dữ liệu JSON thành một đối tượng PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj));
?>
Chạy ví dụ »Hàm json_decode() trả về một đối tượng theo mặc định. Hàm json_decode() có tham số thứ hai và khi được đặt thành true, các đối tượng JSON sẽ được giải mã thành các mảng kết hợp.
Ví dụ
Ví dụ này giải mã dữ liệu JSON thành một mảng kết hợp PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj,
true));
?>
Chạy ví dụ »PHP - Truy cập các giá trị được giải mã
Dưới đây là hai ví dụ về cách truy cập các giá trị được giải mã từ một đối tượng và từ một mảng kết hợp:
Ví dụ
Ví dụ này cho thấy cách truy cập các giá trị từ một đối tượng PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
echo $obj->Peter;
echo $obj->Ben;
echo $obj->Joe;
?>
Chạy ví dụ »Ví dụ
Ví dụ này cho thấy cách truy cập các giá trị từ mảng kết hợp PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
echo $arr["Peter"];
echo $arr["Ben"];
echo $arr["Joe"];
?>
Chạy ví dụ »PHP - Lặp qua các giá trị
Bạn cũng có thể lặp qua các giá trị bằng vòng lặp foreach() :
Ví dụ
Ví dụ này cho thấy cách lặp qua các giá trị của đối tượng PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
foreach($obj
as $key => $value) {
echo $key . " => " . $value . "<br>";
}
?>
Chạy ví dụ »Ví dụ
Ví dụ này cho thấy cách lặp qua các giá trị của mảng kết hợp PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
foreach($arr as $key => $value) {
echo $key . " => " . $value
. "<br>";
}
?>
Chạy ví dụ »