$user = [
'id' => 1,
'username' => 'admin',
];
echo json_encode($user);
Kết quả:
{"id":1,"username":"admin"}
Nếu muốn format đẹp hơn ta cho thêm tham số:
echo json_encode($user, JSON_PRETTY_PRINT);
Kết quả:
{
"id": 1,
"username": "admin"
}
Cách thực hiện đơn giản như sau:
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
Tham số thứ 2 true của hàm json_decode là để hàm trả về kết quả là array.
Ta giả sử có class user như sau:
class User {
public $id;
public $username;
}
Sử dụng class như sau:
$user = new User();
$user->id = 1;
$user->username = 'admin';
echo json_encode($user);
Ta cũng sẽ được kết quả tương tự như trên:
`{"id":1,"username":"admin"}
Vậy làm sao để decode được json to object của class User Có khá nhiều cách nhưng cách đơn giản và hiệu quả nhất như sau:
// Khai báo class
class User {
public $id;
public $username;
}
// json string
$json = '{"id":1,"username":"admin"}';
// thực hiện decode như ở trên
$data = json_decode($json, true);
// tạo object User
$user = new User();
// Gắn dữ liệu vào object User
foreach ($data as $key => $value) {
$user->{$key} = $value;
}
// Thu được kết quả
var_export($user);
Kết quả:
User::__set_state(array(
'id' => 1,
'username' => 'admin',
))
---
Phuc Tran Hoang
Làm việc với JSON trong PHP.
Phuc Tran Hoang
Redirect - Chuyển hướng trang bằng PHP
Phuc Tran Hoang