用httpPost对JSON发送和接收的例子
private?static?final?String?APPLICATION_JSON?=?"application/json";
????
????private?static?final?String?CONTENT_TYPE_TEXT_JSON?=?"text/json";
public?static?void?httpPostWithJSON(String?url,?String?json)?throws?Exception?{
????????//?将JSON进行UTF-8编码,以便传输中文
????????String?encoderJson?=?URLEncoder.encode(json,?HTTP.UTF_8);
????????
????????DefaultHttpClient?httpClient?=?new?DefaultHttpClient();
????????HttpPost?httpPost?=?new?HttpPost(url);
????????httpPost.addHeader(HTTP.CONTENT_TYPE,?APPLICATION_JSON);
????????
????????StringEntity?se?=?new?StringEntity(encoderJson);
????????se.setContentType(CONTENT_TYPE_TEXT_JSON);
????????se.setContentEncoding(new?BasicHeader(HTTP.CONTENT_TYPE,?APPLICATION_JSON));
????????httpPost.setEntity(se);
????????httpClient.execute(httpPost);
????}
接收HTTPPost中的JSON:
public?static?String?receivePost(HttpServletRequest?request)?throws?IOException,?UnsupportedEncodingException?{
????????
????????//?读取请求内容
????????BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(request.getInputStream()));
????????String?line?=?null;
????????StringBuilder?sb?=?new?StringBuilder();
????????while((line?=?br.readLine())!=null){
????????????sb.append(line);
????????}
????????//?将资料解码
????????String?reqBody?=?sb.toString();
????????return?URLDecoder.decode(reqBody,?HTTP.UTF_8);
????}转:http://www.blogjava.net/duansky/archive/2012/03/18/372137.html