用httpPost对JSON发送和接收的例子

用httpPost对JSON发送和接收的例子

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);
    }

你可能感兴趣的:(用httpPost对JSON发送和接收的例子)