Hướng dẫn php json parse
Show Trong bài hướng dẫn tự học Lập trình PHP này, bạn sẽ dược học cách mã hóa (endcode) và giải mã (decode) dữ liệu JSON với PHP. Vậy, JSON là từ viết tắt của Javascript Object Notation. JSON là một định dạng tiêu chuẩn trong trao đổi dữ liệu nhẹ, nhanh chóng và dễ dàng tạo (generate) và phân tích (parse). JSON, giống như XML, là một định dạng dựa trên văn bản, dễ viết và dễ hiểu cho cả con người và máy tính. Nhưng không giống như XML, các cấu trúc dữ liệu JSON chiếm ít băng thông hơn các phiên bản XML của chúng. Dữ liệu kiểu JSON dựa trên hai cấu trúc cơ bản:
Trong JSON, các key luôn là các string, trong khi giá trị có thể là một string, number, true hoặc false, null, thậm chí là một Object hoặc một Array. Các string phải được đặt trong dấu ngoặc kép “” và có thể chứa các ký tự thoát như \n, \t và \. Một đối tượng JSON có thể trông như thế này:Ví dụ về JSON Object theo cấu trúc Object
Ví dụ về JSON Object theo cấu trúc Array
Ghi chú: Định dạng data-interchange là định dạng văn bản được sử dụng để trao đổi hoặc hoán đổi dữ liệu giữa các nền tảng và hệ điều hành khác nhau. JSON là định dạng trao đổi dữ liệu nhẹ và phổ biến nhất cho các ứng dụng web. Hướng dẫn phân giải dữ liệu JSON với PHPPhân giải JSON với PHP (JSON Parsing)Cấu trúc dữ liệu JSON rất giống với mảng của PHP. PHP có các hàm dựng sẵn để encode và decode dữ liệu JSON. Các hàm này lần lượt là json_encode() và json_decode(). Cả hai chức năng chỉ hoạt động với dữ liệu chuỗi được mã hóa theo chuẩn UTF-8. Endcoding dữ liệu JSON bằng PHPTrong PHP, chúng ta sử dụng hàm json_encode() được sử dụng để mã hóa một giá trị thành định dạng JSON. Giá trị được mã hóa có thể là bất kỳ loại dữ liệu PHP nào ngoại trừ tài nguyên như cơ sở dữ liệu hoặc liên quan đến xử lý tệp. Ví dụ dưới đây trình bày cách mã hóa một mảng kết hợp PHP thành một đối tượng JSON:
Kết quả nhận được như sau:
Tương tự… Bạn có thể mã hóa mảng chỉ số trong PHP thành một mảng JSON, như thế này:
Kết quả nhận được là:
Bạn cũng có thể buộc hàm json_encode() trả về một mảng chỉ số trong PHP dưới dạng đối tượng JSON bằng cách sử dụng tùy chọn JSON_FORCE_OBJECT, như trong ví dụ dưới đây:
Kết quả nhận được là:
Như bạn có thể thấy trong các ví dụ trên, một mảng không kết hợp có thể được mã hóa thành mảng hoặc đối tượng. Tuy nhiên, một mảng kết hợp luôn được mã hóa dưới dạng đối tượng. Decoding dữ liệu JSON bằng PHPDecoding dữ liệu JSON đơn giản như Endcoding nó. Bạn có thể sử dụng hàm json_decode() của PHP để chuyển đổi chuỗi được mã hóa JSON thành kiểu dữ liệu PHP phù hợp. Ví dụ sau minh họa cách decoding hoặc chuyển đổi một đối tượng JSON thành đối tượng trong PHP.
Kết quả của ví dụ trên sẽ trông giống như thế này:
Theo mặc định, hàm json_decode() trả về một đối tượng. Tuy nhiên, bạn có thể tùy ý chỉ định tham số thứ hai $assoc chấp nhận giá trị boolean mà khi:
Đây là ví dụ:
Kết quả nhận được:
Tiếp theo, hãy xem một ví dụ sẽ chỉ cho bạn cách decoding JSON data và cách truy cập các phần tử riêng lẻ của đối tượng JSON hoặc mảng trong PHP.
Bạn cũng có thể lặp qua dữ liệu được decoding bằng vòng lặp foreach(), như thế này:
Hướng dẫn trích xuất các giá trị từ dữ liệu JSON lồng nhau trong PHPTrong khi làm việc với JSON, các đối tượng và mảng JSON cũng có thể được lồng nhau. Một đối tượng JSON có thể tùy ý chứa các đối tượng JSON, mảng, mảng lồng nhau, mảng đối tượng JSON, v.v. Ví dụ sau sẽ chỉ cho bạn cách giải mã một đối tượng JSON lồng nhau và in tất cả các giá trị của nó trong PHP .
Tổng kếtNhư vậy là qua bài này bạn đã được học về cách endcode và decode dữ liệu JSON trong PHP. Đây là một dạng dữ liệu trao đổi giữa các nền tảng rất phổ biến. Hãy thực hành lại các ví dụ để chắc chắn bạn đã hiểu và nắm được các thao tác với dữ liệu JSON bằng PHP. PHPDev |