HttpServletRequest での JSON POST データへのアクセス
サーブレットで HTTP POST リクエストを操作する場合、データが次のような場合、POST データの取得が混乱する可能性があります。 JSON 形式でエンコードされます。通常のキーと値のペアとは異なり、JSON データには生データ ストリームを処理するためのカスタム デコーダが必要です。
HttpServletRequest で JSON POST データにアクセスするには、次の手順に従います。
1. Raw データ ストリームを読み取ります:
BufferedReader reader = request.getReader();
これは、クライアントによって送信された Raw JSON データ ストリームを取得します。
2. JSON デコーダーを使用する:
JSON データを解析するには、org.json などのサードパーティ ライブラリを使用できます。デコーダの例は次のとおりです:
JSONObject jsonObject = HTTP.toJSONObject(jb.toString());
3. JSON データの操作:
JSON オブジェクトが解析されると、getInt()、getString() などのメソッドを使用してそのプロパティにアクセスできます。
int someInt = jsonObject.getInt("intParamName"); String someString = jsonObject.getString("stringParamName");
注: このアプローチは、POST データが JSON データ ストリームとしてエンコードされている場合にのみ必要です。 「application/x-www-form-urlencoded」としてエンコードされたキーと値のペアの場合は、通常の request.getParameter() メソッドを使用できます。
以上がHttpServletRequest から JSON POST データにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。