Hướng dẫn dùng decoding json trong PHP
Trong bài này, chúng ta sẽ tìm hiểu về dữ liệu json trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP. Show 1. JSON (JavaScript Object Notation) là gì?JSON (JavaScript Object Notation) là một định dạng (format) dữ liệu bắt nguồn từ ngôn ngữ Javascript. Dữ liệu trong JSON chủ yếu là text, được lưu trữ theo cặp thuộc tính (attribute) – giá trị (value). JSON thường được sử dụng trong các trường hợp:
Bên dưới là ví dụ file
Các lưu ý chính về định dạng của JSON là:
Trong PHP, hàm 2. Hàm json_encode() trong PHPHàm json_encode() trong PHP giúp trả về định dạng dữ liệu json. Cú pháp:
Trong đó, – $value: biến lưu dữ liệu cần mã hóa (encode) sang định dạng json. Lưu ý: Tất cả dữ liệu string cần phải được mã hóa UTF-8 trước khi chuyển sang json. – $flag: là những json constant trong PHP, quy định định dạng json sẽ trả về như thế nào. – $depth: Độ sâu (depth) tối đa của json và được thiết lập lớn hơn 0. Kết quả trả về của hàm json_encode() là một chuỗi json hoặc false nếu không thể mã hóa $value sang dữ liệu json. Ví dụ encode mảng kết hợp sang chuỗi json
Kết quả
Ví dụ encode mảng indexed sang chuỗi json
Kết quả
3. Hàm json_decode() trong PHPHàm json_decode() trong PHP giúp giải mã (decode) một chuỗi json sang kiểu dữ liệu PHP phù hợp. Đó có thể là một PHP object, mảng kết hợp,… Cú pháp:
Trong đó, – $json: là chuỗi json cần được giải mã. Chuỗi json phải được mã hóa UTF-8. – $associative: nếu là true, kết quả trả về của hàm sẽ là mảng kết hợp. Nếu là false, kết quả trả về của hàm sẽ là một PHP object. Nếu là null, kết quả trả về là mảng hay object tùy thuộc vào $flag có được đặt là constant JSON_OBJECT_AS_ARRAY hay không. – $depth: Độ sâu (depth) tối đa của chuỗi json được giải mãi. – $flags: là những json constant trong PHP, quy định định dạng json sẽ trả về như thế nào. Kết quả trả về của hàm json_decode() là một kiểu dữ liệu PHP phù hợp của chuỗi json được giải mã. Đó có thể là một PHP object, mảng kết hợp,… Ví dụ decode chuỗi json sang PHP object
Kết quả
Ví dụ decode chuỗi json sang mảng kết hợp
Kết quả
Trong ví dụ trên, chúng ta có thể sử dụng vòng lặp foreach() để truy cập đến các giá trị trong object hoặc mảng kết hợp của chuỗi json đã decode.
|