Làm cách nào để sử dụng mảng JSON trong PHP?
Ký hiệu đối tượng JavaScript (JSON) là định dạng văn bản nhẹ mà con người có thể đọc được để lưu trữ và vận chuyển dữ liệu bao gồm các cặp giá trị tên và mảng Show Dễ dàng tạo và phân tích cú pháp bằng nhiều ngôn ngữ lập trình. Đây là định dạng trao đổi dữ liệu nhẹ và phổ biến nhất cho các ứng dụng web và định dạng thực tế để trao đổi dữ liệu trong các yêu cầu và phản hồi của dịch vụ web RESTful Trong bài đăng này, chúng tôi sẽ đề cập đến cách giải mã một đối tượng JSON và truy cập dữ liệu của nó trong PHP Dưới đây là một ví dụ về một đối tượng JSON đơn giản
Cách nhận dữ liệu JSON trong PHP1. Từ một yêu cầu POST hoặc GETĐể nhận dữ liệu JSON dưới dạng yêu cầu POST, chúng tôi sử dụng “php. //input” cùng với hàm file_get_contents() như bên dưới
Chẳng hạn, dữ liệu JSON được gửi bên dưới dưới dạng yêu cầu POST
Để nhận dữ liệu yêu cầu trên trong sổ đăng ký. php, chỉ cần thêm file_get_contents("php. //input") và gán nó cho một biến để xử lý, vd
2. Đọc một tệp JSONTệp JSON chứa đối tượng JSON và có phần mở rộng tệp là. json. Bạn cũng có thể mở tệp bằng PHP và truy cập dữ liệu của nó Tương tự như yêu cầu POST hoặc GET, chúng tôi sử dụng file_get_contents() nhưng thay vì có “php. //input”, chúng tôi sử dụng đường dẫn tệp Ví dụ: nếu chúng tôi có tệp JSON có đường dẫn "https. //www. thí dụ. com/mydata. json", chúng ta có thể truy cập dữ liệu của nó như bên dưới
Nếu tệp json và tệp PHP truy cập tệp nằm trong cùng một trang web, chúng tôi có thể sử dụng đường dẫn tương đối thay vì URL tệp đầy đủ
Trích xuất/Giải mã dữ liệu JSON trong PHPChúng ta sử dụng hàm có sẵn 6 để chuyển chuỗi JSON sang kiểu dữ liệu phù hợp như đối tượng hoặc mảngcú pháp
1. Truy cập dữ liệu JSON dưới dạng đối tượng PHPTheo mặc định, hàm json_decode() trả về một đối tượng Thí dụ
Ví dụ trên xuất ra bên dưới object(stdClass)#1 (4) { ["firstName"]=> string(4) "John" ["lastName"]=> string(3) "Doe" ["email"]=> string(17) " . com" ["phone"]=> string(12) "111-111-1111" } Để truy cập dữ liệu đối tượng PHP, bạn sử dụng toán tử đối tượng (->) sau tên đối tượng, theo sau là khóa của cặp khóa-giá trị. Tên này giống với tên trong cặp tên-giá trị trong đối tượng JSON, ví dụ: $data->firstName Thí dụ ________số 8_______2. Truy cập dữ liệu JSON dưới dạng một mảngBạn cũng có thể chuyển đổi đối tượng JSON thành mảng kết hợp PHP bằng cách chuyển tham số thứ hai (tùy chọn) trong hàm json_decode() với giá trị boolean "true" như bên dưới. Giá trị được đặt thành false theo mặc định nếu bạn không vượt qua nó
Ví dụ bên dưới giải mã đối tượng JSON thành một mảng kết hợp PHP
Ví dụ trên xuất ra bên dưới mảng(4) { ["firstName"]=> string(4) "John" ["lastName"]=> string(3) "Doe" ["email"]=> string(17) "johndoe@gmail. com" ["phone"]=> string(12) "111-111-1111" } Bạn truy cập dữ liệu như trong bất kỳ mảng kết hợp PHP nào khác như trong ví dụ bên dưới 0
3. Truy cập dữ liệu trong một đối tượng JSON lồng nhauMột đối tượng JSON có thể bao gồm các đối tượng json và mảng dưới dạng các giá trị trong cặp tên-giá trị của nó, chẳng hạn như trong ví dụ bên dưới 1Trong ví dụ trên, "địa chỉ" có một đối tượng làm giá trị của nó trong khi "anh chị em" có một giá trị mảng bao gồm các đối tượng Cách dễ nhất để truy cập tất cả dữ liệu là giải mã đối tượng dưới dạng một mảng kết hợp Thí dụ 2
Lặp qua một đối tượng của các đối tượng với foreach()Bạn có thể có một đối tượng JSON lớn được tạo từ một mảng các đối tượng, như trong ví dụ bên dưới 3Để truy cập các giá trị của một quốc gia trong ví dụ trên, bạn chỉ cần biết vị trí đối tượng của nó trong mảng. Ví dụ, Trung Quốc ở vị trí thứ ba. Nhưng khi truy xuất các item của mảng thì ta bắt đầu đếm từ 0 nên chỉ số của China trong mảng là 2 Ta truy cập đối tượng mảng China như bên dưới 4Nếu bạn muốn truy cập tất cả dữ liệu mảng thì việc viết mã để truy cập từng dữ liệu tại một thời điểm có thể rất mệt mỏi và tốn thời gian, đặc biệt là khi đối tượng lớn. Đối với trường hợp như vậy, bạn có thể sử dụng hàm foreach() để lặp qua tất cả các đối tượng như bên dưới 5
Phần kết luậnTrong bài đăng này, chúng tôi đã đề cập đến mọi thứ bạn cần biết trong việc trích xuất và truy cập dữ liệu đối tượng JSON bằng PHP Bạn cũng có thể muốn tìm hiểu cách tạo một đối tượng JSON trong PHP Nếu bạn muốn nhận thông báo qua email khi chúng tôi thêm nội dung đáng kinh ngạc hơn vào blog của mình, vui lòng đăng ký nhận bản tin email của chúng tôi Làm cách nào để đọc JSON thành mảng trong PHP?Để chuyển đổi chuỗi dữ liệu JSON thành mảng PHP, bạn có thể sử dụng hàm json_decode($json) . Hàm json_decode() chấp nhận chuỗi JSON làm tham số đầu tiên và một vài tham số bổ sung để kiểm soát quá trình chuyển đổi JSON thành mảng PHP.
Làm cách nào để viết một mảng bằng JSON trong PHP?Mảng JSON được tạo bằng cách gán một mảng PHP được lập chỉ mục số nguyên liền kề vào đường dẫn cây miền JSON . Biến mảng PHP được lập chỉ mục số nguyên liền kề nếu nó chỉ chứa các khóa số nguyên được sắp xếp theo thứ tự từ 0 đến n -1 (trong đó n là tổng số phần tử trong mảng).
Làm cách nào để sử dụng dữ liệu JSON trong PHP?Giải mã JSON trong PHP (json_decode) . json_string - Đây là một chuỗi được mã hóa phải là dữ liệu được mã hóa UTF-8 assoc − Nó là một tham số kiểu boolean, khi set là TRUE, các đối tượng trả về sẽ được chuyển thành mảng kết hợp độ sâu - Đây là một tham số kiểu số nguyên chỉ định độ sâu đệ quy Làm cách nào để in giá trị mảng JSON trong PHP?Chúng ta có thể sử dụng hàm json_encode() để ghi giá trị ở định dạng JSON . Chúng ta có thể kết xuất mọi loại mảng trong PHP như mảng được liệt kê, mảng kết hợp và đối tượng sang định dạng JSON. Hàm json_encode() có tùy chọn JSON_PRETTY_PRINT làm đẹp chuỗi JSON. |