ホームページ  >  記事  >  バックエンド開発  >  PHP で「application/JSON」コンテンツ タイプの JSON リクエストを処理する方法

PHP で「application/JSON」コンテンツ タイプの JSON リクエストを処理する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-20 22:58:30366ブラウズ

How to Handle JSON Requests with

アプリケーション/JSON コンテンツ タイプの JSON リクエストを処理する PHP

コンテンツ タイプを「application/json」に設定して AJAX リクエストを送信する場合、リクエストパラメータを受信する際の PHP のデフォルト動作は曖昧になります。この問題は、PHP では投稿パラメーターが URL エンコードされることを期待しているのに対し、JSON エンコードされたデータはそうでないことが原因で発生します。

このようなシナリオでは、コンテンツ タイプが「application/json」の場合、PHP の $ を介してパラメーターにアクセスすると、 _POST (URL エンコードされたデータに使用) は空の配列を返します。 PHP で JSON リクエストを適切に処理するには、別のアプローチが必要です。

解決策: file_get_contents() を使用して JSON データを取得します

$_POST に依存する代わりに、PHP file_get_contents() 関数は、PHP 入力ストリームなどのさまざまなソースから生データを読み取るために提供されます。この関数を json_decode() と組み合わせると、PHP スクリプトで JSON エンコードされたデータを解析して利用できるようになります。

次の例は、コンテンツ タイプが「application/json」の JSON リクエストを処理する方法を示しています。 PHP:

<code class="php"><?php
$json_data = json_decode(file_get_contents('php://input'));
var_dump($json_data);
?></code>

この例では、file_get_contents('php://input') がリクエストから生の JSON データを取得し、json_decode() がそれを配列またはオブジェクトに変換します。スクリプト内でアクセスされ、さらに処理されます。

以上がPHP で「application/JSON」コンテンツ タイプの JSON リクエストを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。