Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Membaca Data JSON POST dalam Perkhidmatan Web PHP Saya?

Bagaimanakah Saya Boleh Membaca Data JSON POST dalam Perkhidmatan Web PHP Saya?

Barbara Streisand
Lepaskan: 2024-12-17 02:02:24
asal
535 orang telah melayarinya

How Can I Read JSON POST Data in My PHP Web Service?

Membaca JSON POST menggunakan PHP

Bersusah payah membaca data JSON dalam perkhidmatan web PHP?

< h3>The Masalah

Anda mempunyai perkhidmatan web yang berfungsi dengan sempurna dengan data borang ringkas. Walau bagaimanapun, apabila anda perlu menghantar data POST dengan jenis kandungan aplikasi/json, perkhidmatan web anda gagal mengembalikan sebarang nilai. Anda mengesyaki ia berkaitan dengan cara anda mengendalikan nilai POST.

Penyelesaian

Isunya terletak pada cara anda mengakses data POST. Untuk permintaan JSON POST, anda perlu menggunakan kaedah yang berbeza daripada pembolehubah $_POST standard.

Membaca Data JSON POST

Untuk membaca data JSON daripada POST minta, gunakan kod berikut:

$inputJSON = file_get_contents('php://input');
$input = json_decode($inputJSON, TRUE); // Convert JSON into an array

// Use the $input array to access your JSON data
Salin selepas log masuk

Pembetulan Kod CURL

Dalam permintaan CURL anda, anda menggunakan CURLOPT_POSTFIELDS untuk mengekod parameter anda sebagai application/x-www-form-urlencoded. Walau bagaimanapun, untuk permintaan JSON POST, anda perlu menyediakan data berformat JSON.

Tukar kod CURL anda kepada yang berikut:

$data_string = json_encode($data);

$curl = curl_init('http://webservice.local/');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_string)
));
Salin selepas log masuk

Ubah suai Perkhidmatan Web

Pastikan hanya ada satu panggilan ke pengepala('Content-type: aplikasi/json'); dalam halaman perkhidmatan web anda. Jika terdapat berbilang panggilan, ia boleh mengganggu respons JSON.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca Data JSON POST dalam Perkhidmatan Web PHP Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan