用httpPost对JSON发送和接收

Posted Programming is an art

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用httpPost对JSON发送和接收相关的知识,希望对你有一定的参考价值。

HTTPPost发送JSON:

 1 private static final String APPLICATION_JSON = "application/json";
 2     
 3     private static final String CONTENT_TYPE_TEXT_JSON = "text/json";
 4 
 5 public static void httpPostWithJSON(String url, String json) throws Exception {
 6         // 将JSON进行UTF-8编码,以便传输中文
 7         String encoderJson = URLEncoder.encode(json, HTTP.UTF_8);
 8         
 9         DefaultHttpClient httpClient = new DefaultHttpClient();
10         HttpPost httpPost = new HttpPost(url);
11         httpPost.addHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON);
12         
13         StringEntity se = new StringEntity(encoderJson);
14         se.setContentType(CONTENT_TYPE_TEXT_JSON);
15         se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON));
16         httpPost.setEntity(se);
17         httpClient.execute(httpPost);
18     }

接收HTTPPost中的JSON:

 1 public static String receivePost(HttpServletRequest request) throws IOException, UnsupportedEncodingException {
 2         
 3         // 读取请求内容
 4         BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
 5         String line = null;
 6         StringBuilder sb = new StringBuilder();
 7         while((line = br.readLine())!=null){
 8             sb.append(line);
 9         }
10 
11         // 将资料解码
12         String reqBody = sb.toString();
13         return URLDecoder.decode(reqBody, HTTP.UTF_8);
14     }

 

以上是关于用httpPost对JSON发送和接收的主要内容,如果未能解决你的问题,请参考以下文章

(转)java代码发送JSON格式的httpPOST请求

HttpPost发送字符串到服务器,服务器接收代码并显示怎么写Java代码?

Javascript - 使用 HTML 片段通过电子邮件发送 JSON 输出

如何创建可以接收对象的[HttpPost]?

ASP.NET Core 3.1 Web Api HttpPost Action 参数无法接收 axios application/json HttpPost 传递数据

C# webApi----H5_app后台制作--序列化的类无法接收Json格式的数据