NameValuePairの使い方
NameValuePairは、HTTPリクエスト内のパラメータを表すためのキーと値のペアのクラスです。通常、URLのクエリ文字列、フォームデータ、またはJSONリクエストボディを構築するために使用されます。
NameValuePairクラスには、nameとvalueという2つの属性があり、それぞれがパラメータのキーと値を表します。
NameValuePairを使用する手順は以下の通りです:
- NameValuePairオブジェクトを作成します。
- NameValuePair param = new BasicNameValuePair(“key”, “value”); を日本語で表現すると、次のようになります:
NameValuePair param = new BasicNameValuePair(“キー”, “値”); - パラメータリストにNameValuePairオブジェクトを追加します。
- List params = new ArrayList<>();
params.add(param);
リスト params = 新しいArrayList<>(); params.add(param); - 複数のNameValuePairオブジェクトを追加するために、ループで順番に追加する方法があります。
- パラメーターリストをURLクエリ文字列またはフォームデータに変換します。
- paramsを使用してqueryStringをフォーマットし、文字列を生成します。
- URIEncodedUtilsクラスのformatメソッドが使用されており、パラメーターリストがURLクエリ文字列に変換されています。第2引数は文字エンコーディングを指定しています。
- パラメータリストをフォームデータに変換したい場合は、HttpEntityクラスのUrlEncodedFormEntityメソッドを使用します。
- パラメータリストをJSONリクエストボディに変換する。
- paramsを使用してUrlEncodedFormEntityを作成し、EntityUtilsを使用してその結果をjsonとして取得する。
- EntityUtilsクラスのtoStringメソッドが使用され、パラメーターリストが文字列に変換されています。
NameValuePairの使用は、パラメータの構築をより柔軟で管理しやすくします。これは、サーバーとのやり取り時にパラメータを渡す際によく使用されます。