PHP thêm đối tượng JSON vào mảng

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

Nó thường được sử dụng để đọc dữ liệu từ máy chủ web và hiển thị nó trên trang web

Dữ liệu JSON có thể dễ dàng được gửi giữa các máy tính, ứng dụng và có thể được sử dụng bởi bất kỳ ngôn ngữ lập trình nào. Nó được sử dụng rộng rãi làm đị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. Trên thực tế, sự thành công của các dịch vụ web RESTful có thể là do định dạng JSON do nó dễ sử dụng trên nhiều nền tảng và ngôn ngữ khác nhau

Cú pháp JSON

Dữ liệu trong các đối tượng JSON được lưu trữ theo cặp tên-giá trị, như trong ví dụ bên dưới


"firstName":"John"

Từ ví dụ trên, “firstName” là tên và “John” là giá trị

Tên trong cặp luôn là một chuỗi trong khi giá trị của nó có thể thuộc các loại dữ liệu khác nhau, bao gồm. chuỗi, số, đối tượng, mảng, đúng, sai và null

Tên và giá trị trong một cặp được phân tách bằng dấu hai chấm (. )

Các cặp tên-giá trị được phân tách bằng dấu phẩy (,)

Đối tượng JSON được đặt trong dấu ngoặc nhọn ({}). Nó có thể chứa các cặp tên-giá trị và/hoặc mảng

Mảng trong JSON được đặt trong dấu ngoặc vuông ([]) và các giá trị của chúng được phân tách bằng dấu phẩy (,)

Ví dụ


{
   "firstName": "John",
   "lastName": "Doe",
   "email": "[email protected]",
   "age": 30,
   "address": {
          "postalAddress": "201307",
          "postalCode": "12345",
          "city": "Nairobi"
        },
   "phoneNumbers": [
      { "Mobile": "111-111-1111" },
      { "Home": "222-222-2222" }
   ]
}

Trên đây là một ví dụ về đối tượng JSON chứa dữ liệu theo cặp tên-giá trị. Nó có các giá trị của kiểu dữ liệu. chuỗi, số, đối tượng và mảng

Giá trị của tên "phoneNumbers" là một mảng gồm hai đối tượng

Giá trị của tên "địa chỉ" là một đối tượng chứa 3 cặp tên-giá trị

Tên "tuổi" chứa một giá trị kiểu số

Cách tạo đối tượng JSON trong PHP

Đầu tiên là tạo một mảng, sau đó mã hóa nó thành một đối tượng JSON

Có ba loại mảng trong PHP được liệt kê bên dưới

  • mảng được lập chỉ mục
  • mảng kết hợp
  • mảng nhiều chiều

Vì dữ liệu trong JSON được lưu trữ theo cặp tên-giá trị, nên chúng tôi sử dụng mảng kết hợp cũng lưu trữ dữ liệu theo cặp khóa-giá trị, trong đó khóa được sử dụng làm chỉ mục để tìm kiếm giá trị tương ứng trong mảng

Để tạo một mảng kết hợp trong PHP, chúng ta đặt các cặp khóa-giá trị bên trong hàm array() và sử dụng toán tử mũi tên kép (=>) để gán giá trị cho các khóa

 "John", 
        "lastName" => "Doe", 
        "email" => "[email protected]", 
        "phone" => "111-111-1111"
     ); 

Sau khi tạo một mảng kết hợp, sau đó chuyển đổi nó thành một đối tượng JSON bằng cách sử dụng hàm json_encode() có sẵn của PHP như được hiển thị bên dưới

Thêm tiêu đề Kiểu nội dung bằng cách thêm tiêu đề ("Kiểu nội dung. application/json") ở đầu tệp PHP để đầu ra của bạn được nhận dạng là đối tượng JSON

 "John", 
        "lastName" => "Doe", 
        "email" => "[email protected]", 
        "phone" => "111-111-1111"
$jsonobject = json_encode($myobj); 
echo $jsonobject; 

Đoạn mã trên sẽ in ra một đối tượng JSON như bên dưới


 {
  "firstName": "John", 
  "lastName": "Doe", 
  "email": "[email protected]", 
  "phone": "111-111-1111"
 }

Cách tạo một đối tượng JSON với một mảng và đối tượng lồng nhau

Để có một tên với một đối tượng làm giá trị của nó, sẽ chỉ cần tạo một mảng và gán nó cho khóa làm giá trị trong khi tạo mảng kết hợp

Để có một tên với một giá trị mảng, chúng ta chỉ cần tạo một mảng làm giá trị, sau đó tạo các mảng khác với các cặp khóa-giá trị bên trong nó

Ví dụ

 "John", 
           "lastName" => "Doe", 
           "email" => "[email protected]", 
           "address" => array( 
                       "postalAddress" => "12345", 
                        "postalCode" => "5432", 
                        "city" => "Nairobi"
             ), 
            "siblings" => array( 
                         array( "name" => "Joseph Doe" ), 
                         array( "name" => "Mary Doe" )
                  )
              ); 
$jsonobject = json_encode($myarray); 
echo $jsonobject; 

Đoạn mã trên sẽ xuất ra một đối tượng JSON bên dưới


 { 
   "firstName": "John", 
   "lastName": "Doe", 
   "email": "[email protected]", 
   "address": { 
         "postalAddress": "12345", 
         "postalCode": "5432", 
         "city": "Nairobi"
      }, 
     "siblings": [ 
          { "name": "Joseph Doe" }, 
          { "name": "Mary Doe" } 
    ] 
} 

Gửi đối tượng JSON dưới dạng yêu cầu đăng bài trong PHP

Bây giờ bạn đã biết cách tạo một đối tượng JSON, hãy đi sâu vào cách bạn có thể gửi nó dưới dạng yêu cầu POST

Chúng tôi sẽ đạt được điều đó bằng cách sử dụng PHP Curl như hình bên dưới

 "John", 
         "lastName" => "Doe", 
         "email" => "[email protected]", 
         "phone" => "111-111-1111" 
       ); 

$url = "https://www.example.com/register" 
$payload = json_encode($myarray); 

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $url); 
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $payload);
curl_exec($curl); 
curl_close($curl); 

Phần kết luận

Trong hướng dẫn này, chúng ta đã tìm hiểu JSON là gì, tại sao nó lại quan trọng, cách tạo mảng kết hợp trong PHP, cách chuyển đổi mảng kết hợp thành đối tượng JSON và cách gửi đối tượng đã tạo trong yêu cầu POST bằng PHP curl

Làm cách nào để thêm đối tượng JSON vào mảng JSON trong PHP?

Tệp PHP được giải thích. .
Chuyển đổi yêu cầu thành một đối tượng, sử dụng hàm PHP json_decode()
Truy cập cơ sở dữ liệu và điền vào một mảng với dữ liệu được yêu cầu
Thêm mảng vào một đối tượng và trả về đối tượng dưới dạng JSON bằng hàm json_encode()

Làm cách nào để chuyển đổi đối tượng JSON thành mảng trong PHP?

PHP và JSON .
Hàm json_encode() dùng để mã hóa một giá trị sang định dạng JSON
Hàm json_decode() được sử dụng để giải mã một đối tượng JSON thành một đối tượng PHP hoặc một mảng kết hợp
Hàm json_decode() trả về một đối tượng theo mặc định. .
Bạn cũng có thể lặp qua các giá trị bằng vòng lặp foreach()

Làm cách nào để đẩy dữ liệu JSON vào 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() . 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 để thêm mục vào mảng được định dạng tệp JSON?

1) bước bạn phải chuyển đổi JSON thành Mảng bằng json_decode() . 2) sử dụng phương thức array_merge() để thêm mảng mới. nếu bạn muốn thêm một mảng. Lưu câu trả lời này.