PHP json_decode()

Giới thiệu về json_decode() trong PHP

Hàm json_decode() trong PHP được sử dụng để chuyển đổi một chuỗi JSON thành một kiểu dữ liệu PHP tương ứng, thường là mảng hoặc đối tượng. Hàm này rất hữu ích khi bạn muốn làm việc với dữ liệu JSON, chẳng hạn như khi nhận dữ liệu từ một API hoặc làm việc với cơ sở dữ liệu.

Cú pháp

json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0): mixed

Tham số

  • $json: Chuỗi JSON cần được giải mã.
  • $assoc (tùy chọn): Nếu đặt là true, hàm sẽ trả về một mảng lập chỉ mục thay vì một đối tượng. Mặc định là false, trả về đối tượng.
  • $depth (tùy chọn): Chiều sâu tối đa mà hàm sẽ giải mã. Mặc định là 512.
  • $options (tùy chọn): Cờ bổ sung để điều chỉnh hành vi của hàm (thường không sử dụng).

Giá trị trả về

Hàm json_decode() sẽ trả về một giá trị PHP tương ứng. Nếu chuỗi JSON không hợp lệ, hàm sẽ trả về null.

Ví dụ sử dụng

$json = '{"name": "John", "age": 30, "city": "New York"}';
$array = json_decode($json, true);

echo $array['name']; // John
echo $array['age'];  // 30

Xử lý lỗi

Khi giải mã JSON, bạn nên kiểm tra xem hàm có trả về null hay không, điều này có thể do JSON không hợp lệ. Bạn có thể sử dụng hàm json_last_error() để lấy mã lỗi.

$json = '{"name": "John", "age": 30, "city": "New York"'; // Thiếu dấu ngoặc
$data = json_decode($json);

if (json_last_error() !== JSON_ERROR_NONE) {
    echo 'Có lỗi: ' . json_last_error_msg();
}

Kết luận

Hàm json_decode() là một công cụ mạnh mẽ trong PHP để làm việc với dữ liệu JSON. Hiểu rõ cách sử dụng và xử lý lỗi sẽ giúp bạn làm việc hiệu quả hơn với các API và dữ liệu JSON.