Hướng dẫn dùng jsons trong PHP
Bài trước chúng ta đã tìm hiểu được khái niệm JSON là gì rồi và cũng biết được cấu trúc chuỗi JSON như thế nào, vậy thì trong bài này chúng ta sẽ tìm hiểu xử lý JSON trong PHP như thế nào và các hàm xử lý JSON trong PHP từ căn bản đên nâng cao. Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. 1. Xử lý JSON trong PHPPHP cũng là một ngôn ngữ lập trình nên nó cũng có cung cấp các thư viện xử lý JSON giúp lập trình viên giải quyết nó dễ dàng. Chúng ta có hai hàm đó là hàm json_decode và json_encode: Hàm json_decode trong phpHàm này mục đích chuyển một chuỗi JSON sang dạng mảng hoặc object, hàm này có cú
pháp như sau:
Ví dụ: Cho chuỗ JSON như sau: Bài viết này được đăng tại [free tuts .net] $json_string = ' { "name" : "Nguyễn Văn Cường", "email" : "", "website" : "freetuts.net" } '; Hãy dùng hàm $json_string = ' { "name" : "Nguyễn Văn Cường", "email" : "", "website" : "freetuts.net" } '; // Dạng Mảng var_dump(json_decode($json_string, true)); // Dạng Object var_dump(json_decode($json_string)); Kết quả: Hàm json_encode trong PHPHàm này có chức năng ngược lại hàm Ví dụ: Sử dụng hàm $array = array( "name" => "Nguyễn Văn Cường", "email" => "", "website" => "freetuts.net" ); Bài giải như sau: $array = array( "name" => "Nguyễn Văn Cường", "email" => "", "website" => "freetuts.net" ); echo json_encode($array); Kết quả: 2. Các ví dụ JSON trong PHPỨng dụng hay nhất của JSON trong PHP đó là dùng để xuất ra chuỗi JSON dưới dạng API để các client có thể lấy và xử lý, thông dụng nhất là ajax. Mình đã có một serie về xử lý JSON trong ajax trong serie ajax toàn tập nên các bạn đến serie đó để xem cách sử dụng JSON kết hợp ajax nhé. Bây giờ ta sẽ thảo luận về cách lưu trữ JSON trong MYSQL. Thông thường chúng ta sẽ kết hợp hàm
3. Lời kếtNhư vậy trong PHP cung cấp cho chúng ta hai hàm quan trọng đó là json_decode và json_encode, việc sử dụng nó thì rất là đơn giản, quan trọng là ý tưởng vận dụng nó khi xây dựng ứng dụng như thế nào. Chúc các bạn học tốt nhé. 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. 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.
|