我在android中使用HttpClient发送帖子请求:
HttpClient client = new DefaultHttpClient();
HttpPost request = new HttpPost(hostNameCollection);
StringEntity se = new StringEntity(jsonObj.toString());
request.setHeader("Accept", "application/json");
request.setHeader("Content-type", "application/json");
request.setEntity(se);
HttpResponse response = client.execute(request);
Log.v("HttpLogClient.logJSONObject", "wyslano JSON");
并且我不知道如何在Java EE servlet上接收JSON对象。
答案 0 :(得分:2)
您需要阅读响应正文文本,然后解析为JSON,
String result = EntityUtils.toString(response.getEntity());
JSONObject jo = new JSONObject(result);
答案 1 :(得分:0)
通过获取正文上的流对象然后阅读它来读取http帖子(服务器端)的正文。
一旦你读了它,把字节转换为字符,这将是json,你可以用它来构建像jsonNode这样的json对象,使用'jackson'libs。
答案 2 :(得分:0)
如果您使用普通servlet,则json流位于HttpServletRequest的主体中:request.getReader()或request.getInputStream();
为了方便起见,您可以使用库处理数据绑定。 看看Genson http://code.google.com/p/genson/。
YouClass object = new Genson().deserialize(request.getReader(), YourClass.class);
// or to a plain map
Map<String, Object> map = genson.deserialize(request.getReader(), Map.class);