「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PHPでJSON POSTを受信する方法

PHPでJSON POSTを受信する方法

2024 年 9 月 15 日に公開
ブラウズ:366

How to Receive JSON POST with PHP

PHP で JSON POST リクエストを受信するには、次の手順に従います。

  • PHP スクリプトに送信されるリクエストが JSON オブジェクトとしてフォーマットされていることを確認してください。

  • PHP スクリプトで、file_get_contents('php://input') 関数を使用して生の POST データを取得します。この関数は、HTTP リクエストの生の入力ストリームを読み取ります。

  • json_decode() 関数を使用して、受信した JSON データを PHP 連想配列またはオブジェクトにデコードします。

  • これで、デコードされたデータにアクセスし、必要な操作や処理を実行できるようになります。

PHP で JSON POST リクエストを受信する方法は複数あります。一般的な方法を 3 つ紹介します

  • file_get_contents('php://input') の使用

  • $_POST スーパーグローバルの使用

  • $_REQUEST での json_decode() の使用

file_get_contents('php://input') の使用

file_get_contents('php://input') メソッドを使用して PHP で JSON POST リクエストを受信するには、次の手順に従います。

Content-Type ヘッダーを application/json に設定して、リクエスト本文の JSON データを送信します。

PHP スクリプトで、file_get_contents('php://input') 関数を使用して生の POST データを取得します。

json_decode() 関数を使用して、受信した JSON データを PHP 連想配列またはオブジェクトにデコードします。

その後、デコードされたデータにアクセスし、そのデータに対して必要な操作や処理を実行できます。

file_get_contents('php://input') を使用して JSON POST リクエストを受信して​​処理する方法を示すコード スニペットの例を次に示します。

この例では、file_get_contents('php://input') を使用して JSON POST データが取得され、$jsonData 変数に保存されます。次に、 json_decode() 関数を使用して JSON データを PHP 連想配列にデコードし、$data 変数に保存します。

適切な配列キー (例: $data['name']、$data['age']) を使用して受信したデータにアクセスし、必要な操作を実行できます。お客様の特定の要件に基づいた操作または処理。

無効な JSON が原因で JSON デコードが失敗した場合など、エラー ケースを処理することを忘れないでください。上の例では、このシナリオを処理するために、適切な HTTP 応答コード (400 Bad Request) とエラー メッセージが提供されています。

$_POST スーパーグローバルを使用

$_POST スーパーグローバルを使用して PHP で JSON POST リクエストを受信するには、次の手順に従います。

Content-Type ヘッダーを application/json に設定して、リクエスト本文の JSON データを送信します。

PHP スクリプトで、$_POST スーパーグローバルから JSON データにアクセスします。

JSON データは自動的に解析され、$_POST で連想配列として利用可能になります。

その後、受信したデータにアクセスし、必要な操作や処理を実行できます。

Example

これは、$_POST スーパーグローバルを使用して JSON POST リクエストを受信して​​処理する方法を示すコード スニペットの例です。

この例では、JSON POST データが自動的に解析され、$_POST スーパーグローバルで利用可能になります。受信したデータは $data 変数に保存され、連想配列としてアクセスできます。

適切な配列キー (例: $data['name']、$data['age']) を使用して受信したデータにアクセスし、必要な操作を実行できます。お客様の特定の要件に基づいた操作または処理。

データが受信されない場合、またはリクエストに有効な JSON が含まれていない場合は、それに応じてエラーケースを処理できます。上記の例では、JSON データが受信されない場合のシナリオを処理するために、適切な HTTP 応答コード (400 Bad Request) とエラー メッセージが提供されています。

$_REQUEST

で json_decode() を使用する

$_REQUEST を指定した json_decode() 関数を使用して PHP で JSON POST リクエストを受信するには、次の手順に従います。

Content-Type ヘッダーを application/json に設定して、リクエスト本文の JSON データを送信します。

PHP スクリプトで、file_get_contents('php://input') 関数を使用して生の POST データを取得します。

json_decode() 関数を使用して、受信した JSON データを PHP 連想配列またはオブジェクトにデコードします。

デコードされたデータを $_REQUEST スーパーグローバルに割り当てます。

これは、 $_REQUEST で json_decode() を使用して JSON POST リクエストを受信して​​処理する方法を示すコード スニペットの例です。

この例では、file_get_contents('php://input') を使用して JSON POST データが取得され、$jsonData 変数に保存されます。次に、 json_decode() 関数を使用して JSON データを PHP 連想配列にデコードし、 $data 変数に保存されます。

デコードされたデータは $_REQUEST スーパーグローバルに割り当てられ、連想配列としてアクセスできるようになります。その後、適切な配列キー (例: $_REQUEST['name']、$_REQUEST['age']) を使用して受信したデータにアクセスし、必要な操作を実行できます。お客様の特定の要件に基づいて処理します。

$_REQUEST スーパーグローバルの変更は、さまざまなソース (GET、POST、COOKIE) からのデータを結合するため、セキュリティ リスクが生じる可能性があるため、場合によっては推奨されないことに注意してください。一般に、データのソースに応じて、特定のスーパーグローバル ($_GET、$_POST、または $_COOKIE) を使用する方が安全です。

結論

これらのメソッドは、PHP で JSON POST リクエストを受信して​​処理するためのさまざまなアプローチを提供します。どの方法を選択するかは、特定の使用例と好みによって異なります。最初の方法では、より詳細な制御と柔軟性が得られますが、後の 2 つの方法では、組み込みの PHP 機能を利用して JSON データを処理します。

リリースステートメント この記事は次の場所に転載されています: https://www.tutorialspoint.com/how-to-receive-json-post-with-php 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3