Menyelesaikan Penghuraian Badan Permintaan HTTP dalam JSON POST untuk PHP
Apabila membangunkan titik akhir webhook dalam PHP, mendapatkan dan menghuraikan muatan JSON boleh menjadi mencabar . Artikel ini menangani isu biasa yang dihadapi semasa cuba membaca isi permintaan HTTP dalam senario JSON POST.
Langkah pertama melibatkan pengesahan bahawa pengepala permintaan menunjukkan kehadiran data JSON dalam muatan dengan betul. Dalam kes ini, pengepala permintaan menunjukkan objek JSON yang besar menunggu untuk dihuraikan. Namun begitu, mengakses objek ini terus melalui kaedah seperti $_POST['json'] atau $_POST tidak boleh dilaksanakan, kerana data tidak distrukturkan sebagai tatasusunan.
Sesetengah pembangun menggunakan file_get_contents('php:/ /input') atau fopen('php://input', 'r') untuk mendapatkan badan permintaan. Walau bagaimanapun, menggunakan kaedah ini sahaja tidak mencukupi; kami juga memerlukan fungsi json_decode() untuk mengubah rentetan JSON mentah kepada format yang boleh diakses.
Pendekatan yang betul, seperti yang ditemui, melibatkan penggabungan langkah-langkah ini. Inilah penyelesaiannya:
$inputJSON = file_get_contents('php://input'); $input = json_decode($inputJSON, TRUE); //convert JSON into array
Dengan menetapkan parameter kedua json_decode() kepada TRUE, JSON ditukar kepada tatasusunan bersekutu. Ini membolehkan akses mudah dan manipulasi data dalam skrip PHP, memenuhi keperluan untuk menghuraikan dan berinteraksi dengan objek JSON POST-ed.
Atas ialah kandungan terperinci Bagaimana Menghuraikan Badan Permintaan JSON POST dengan betul dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!