PHP での JSON リクエストの処理
AJAX リクエストでデータを送信する場合、contentType ヘッダーは送信されるデータの形式を指定します。デフォルトの x-www-form-urlencoded エンコーディングはデータをキーと値のペアとしてエンコードしますが、application/json はデータを JSON 文字列としてエンコードします。
contentType が application/json に設定されている場合、PHP の組み込み $_POSTフォームパラメータを保持する変数が空になります。これは、生の JSON 文字列が個々のパラメータに自動的に解析されないためです。
PHP で JSON リクエストを正しく処理するには、次のコードを使用します。
<code class="php"><?php var_dump(json_decode(file_get_contents('php://input'))); ?></code>
file_get_contents('php:// input') は生のリクエスト本文を読み取ります。 json_decode() は、JSON 文字列を解析して PHP オブジェクトまたは配列に変換します。これらのオブジェクトまたは配列には、他の PHP 変数と同様にアクセスできます。
使用例を次に示します。
<code class="php">// Assume an incoming request with the following JSON body: { "my_params": 123 } // Parse the JSON request $data = json_decode(file_get_contents('php://input')); // Access the parsed data like any other PHP variable $my_params = $data->my_params;</code>
以上がPHP で JSON リクエストを処理するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。