AndroidからJSONをPOSTする

JSONはJSONObjectクラスを使うと簡単. HttpPostクラスはPOSTリクエストのラッパー DefaultHttpClientは実行を担当する.

JSONObject.putメソッドでキーとオブジェクトを関連づける. StringEntityでJSONObjectをStringEntityに変換. HttpPostのsetEntityはEntityをセット.EntityはBodyと考えて良さそう. HttpPostのsetHeaderメソッドで適切なヘッダを設定する.これが無いと受理されない. POSTの実行はDefaultHttpClientのexecuteメソッド. HttpResponseクラスはレスポンスを抽象化.getStatusLineメソッドでステータスを取得.

HttpPost httpPost = new HttpPost(url);
DefaultHttpClient client = new DefaultHttpClient();
JSONObject jsonObject = new JSONObject();
try{
jsonObject.put("title", title);
jsonObject.put("date", dateString);
jsonObject.put("body", body);
StringEntity se = new xStringEntity(jsonObject.toString());
httpPost.setEntity(se);
httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("Content-Type", "application/json");
HttpResponse response = client.execute(httpPost);
}
...