我有一个具有以下目的的 servlet:
通过 URL 接收数据(即使用 get)。然后根据这个输入返回一条消息,返回给调用者。我对这些东西很陌生,但已经了解到使用 json(实际上是 Gson)适合这个。
我现在的问题是,如何检索此 json 消息?我要定位哪个 URL?servlet 中的相关行是:
String json = new Gson().toJson(thelist);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().println(json);
这就是我尝试检索 json 的方式:
try{
DefaultHttpClient defaultClient = new DefaultHttpClient();
HttpGet httpGetRequest = new HttpGet("http://AnIPno:8181/sample/response?first=5&second=92866");
HttpResponse httpResponse = defaultClient.execute(httpGetRequest);
BufferedReader reader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "UTF-8"));
String json = reader.readLine();
JSONObject jsonObject = new JSONObject(json);
} catch(Exception e){
e.printStackTrace();
}
但显然这不起作用,因为我发现 jsonObject 的大小为 0(它应该是一个包含三个元素的数组)。
以前,我在 servlet 中有一个 write() 而不是 println()。我不确定这在这种情况下是否重要。但我假设我对如何检索 json 对象有误解。将其指向 servlet 的 URL 还不够吗?